阅读 91

Go 语言匿名函数

Go语言提供了一种称为匿名函数的特殊函数。匿名函数是不包含任何名称的函数。当您要创建内联函数时,此函数很有用。在Go语言中,匿名函数可以形成闭包。匿名函数也称为函数字面量

语法:

    func(parameter_list) return_type {
        //代码        //如果给定return_type,则使用return语句        //如果未提供return_type,则不        //使用return语句        return    }()

示例

package main 
  import "fmt"  func main() { 
      
    //匿名函数   func(){ 
  
      fmt.Println("Welcome! to nhooo.com") 
  }() 
    
}

输出:

Welcome! to nhooo.com

重要事项:

  • 在Go语言中,可以将匿名函数分配给变量。将函数分配给变量时,变量的类型就是函数类型,您可以像调用函数一样调用该变量,如以下示例所示。

    示例

    package main 
      import "fmt"  func main() { 
          
        // 分配一个匿名函数到一个变量   value := func(){ 
          fmt.Println("Welcome! to nhooo.com") 
      } 
      value() 
        
    }

    输出:

    Welcome! to nhooo.com
  • 您也可以在匿名函数中传递参数。

    示例

    package main 
      import "fmt"  func main() { 
          
        //在匿名函数传递参数  func(ele string){ 
          fmt.Println(ele) 
      }("nhooo") 
        
    }

    输出:

    nhooo
  • 您还可以将匿名函数作为参数传递给其他函数。

    示例

    package main 
      import "fmt"  
      
      //匿名函数作为参数传递   func GFG(i func(p, q string)string){ 
         fmt.Println(i ("Geeks", "for")) 
           
     } 
        func main() { 
        value:= func(p, q string) string{ 
            return p + q + "Geeks"    } 
        GFG(value) 
    }

    输出:

    nhooo
  • 您还可以从另一个函数返回匿名函数。

    示例

    package main 
      import "fmt"  
     //返回匿名函数 func GFG() func(i, j string) string{ 
         myf := func(i, j string)string{ 
              return i + j + "nhooo"     } 
        return myf 
     } 
        func main() { 
        value := GFG() 
        fmt.Println(value("Welcome ", "to ")) 
    }

    输出:


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐