Golang中的匿名函数有哪些-创新互联

这篇文章主要为大家详细介绍了Golang中的匿名函数有哪些,文中示例代码介绍的非常详细,具有一定的参考价值,发现的小伙伴们可以参考一下:

创新互联公司专注于成都做网站、网站设计、外贸营销网站建设、网页设计、网站制作、网站开发。公司秉持“客户至上,用心服务”的宗旨,从客户的利益和观点出发,让客户在网络营销中找到自己的驻足之地。尊重和关怀每一位客户,用严谨的态度对待客户,用专业的服务创造价值,成为客户值得信赖的朋友,为客户解除后顾之忧。

golang的优点有哪些

golang是一种编译语言,可以将代码编译为机器代码,编译后的二进制文件可以直接部署到目标机器而无需额外的依赖,所以golang的性能优于其他的解释性语言,且可以在golang中使用goroutine来实现并发性,它提供了一个非常优雅的goroutine调度程序系统,可以很容易地生成数百万个goroutine。

所谓匿名函数,就是没有名字的函数


匿名函数(英语:Anonymous Function)在计算机编程中是指一类无需定义标识符(函数名)的函数或子程序,普遍存在于多种编程语言中。---wikipedia

Golang是支持匿名函数的,即在需要使用函数时,再定义函数,匿名函数没有函数名,只有函数体,函数可以被作为一种类型被赋值给函数类型的变量,匿名函数往往以变量方式被传递

匿名函数经常被用于实现回调函数,闭包等.

匿名函数定义
匿名函数的定义就是: 没有名字的普通函数

func (参数列表) (返回值列表) {
 函数体
}

匿名函数的两种使用方式

一、在定义匿名函数的时候就可以直接使用(这种方式只使用一次)

package main
import (
  "fmt"
)
func main(){
  res1 := func (n1 int, n2 int) int {
    return n1 + n2
  }(10, 30) //括号里的10,30 就相当于参数列表,分别对应n1和n2
  
  fmt.Println("res1=",res1)
}
D:\goproject\src\main>go run hello.go
res1= 40

二、将匿名函数赋给一个变量(函数变量),再通过该变量来调用匿名函数

package main
import (
  "fmt"
)
func main(){
  //将匿名函数fun 赋给变量test_fun
  //则test_fun的数据类型是函数类型,可以通过test_fun完成调用
  test_fun := func (n1 int, n2 int) int {
    return n1 - n2
  }

  res2 := test_fun(10, 30)
  res3 := test_fun(50, 30)
  fmt.Println("res2=", res2)
  fmt.Println("res3=", res3)
  fmt.Printf("%T", test_fun)
}
D:\goproject\src\main>go run hello.go
res2= -20
res3= 20
func(int, int) int

全局匿名函数

全局匿名函数就是将匿名函数赋给一个全局变量,那么这个匿名函数在当前程序里可以使用

package main
import (
  "fmt"
)

//Test_fun 就是定义好的全局变量
//全局变量必须首字母大写
var (
  Test_fun = func (n1 int, n2 int) int {
    return n1 - n2
  }
)
func main(){
  val1 := Test_fun(9, 7)

  fmt.Println("val1=", val1)
}
D:\goproject\src\main>go run hello.go
val1= 2

以上就是创新互联网站建设公司,小编为大家收集整理的Golang中的匿名函数有哪些,如何觉得创新互联建站的内容还不错,欢迎将创新互联建站推荐给身边好友。


当前标题:Golang中的匿名函数有哪些-创新互联
文章URL:http://myzitong.com/article/djhchs.html