匿名函数

匿名函数

  1. 概念

    没有名字的函数

    func(){
        fmt.Println("匿名函数")
    }()
    
  2. 调用方式

    1. 直接进行调用,通常只能使用一次。

    2. 赋值调用,将匿名函数赋值给某个某个函数变量,则可以调用多次

      f:=func(){
      	fmt.Println("匿名函数2")
      }
      f()
      
  3. 带参数的匿名函数

    func(a,b int){
    		fmt.Printf("带参数的匿名函数 %d %d
    ",a,b)
    	}(1,3)
    
  4. 带返回值的匿名函数

    res1:=func(a,b int) int {
    	return a+b
    }(1,2)
    fmt.Print(res1)   //注意这里有匿名函数调用,所以是将匿名函数调用的结果赋值给res1
    
    res2:=func(a,b int) int {
    	return a+b
    }
    fmt.Print(res2) //这里只是将匿名函数地址赋值给res2,因为函数类型是引用类型
    
  5. 匿名函数的用途

    1. Go语言支持函数式编程

      1. 将匿名函数作为另一个函数的参数,也叫做回调函数
      2. 将匿名函数作为另一个函数的返回值,可以形成闭包结构
原文地址:https://www.cnblogs.com/henryno12/p/12635023.html