在 Go 语言中,函数是一种代码抽象和复用的方式。函数可以接受参数,执行特定的操作,并返回结果。
函数的定义
函数的定义以func
关键字开始,后面跟着函数名、参数列表、返回值列表(可选)以及函数体。下面是一个函数定义的例子:
func greet(name string) { fmt.Println("Hello, " + name)}
这个函数接受一个类型为string
的参数name
,然后输出一句问候语。
函数的调用
你可以通过函数名以及参数列表来调用函数。例如:
greet("Go")
这将输出 “Hello, Go”。
返回值
函数可以返回一个或多个结果。你可以在函数定义中指定返回值的类型,然后使用return
语句来返回结果。例如:
func add(a int, b int) int { return a + b}
这个函数接受两个int
类型的参数,然后返回它们的和。你可以这样调用它:
result := add(1, 2)fmt.Println(result) // 输出 3
函数还可以返回多个结果。例如,下面的函数返回两个int
类型的结果:
func swap(a int, b int) (int, int) { return b, a}
你可以这样调用它:
x, y := swap(1, 2)fmt.Println(x, y) // 输出 2 1
匿名函数和闭包
Go 语言支持匿名函数和闭包。匿名函数就是没有名字的函数,你可以直接定义并调用它。例如:
func() { fmt.Println("Hello, Go")}() // 输出 "Hello, Go"
闭包是一个函数和它相关的引用环境组合的一个整体(实体)。闭包可以捕获并存储其外部作用域中的变量,下面是一个创建闭包的例子:
func makeAdder(x int) func(int) int { return func(y int) int { return x + y }}adder := makeAdder(1)fmt.Println(adder(2)) // 输出 3
以上就是 Go 语言中函数的基本使用。函数是 Go 语言中非常重要的部分,通过定义和使用函数,你可以抽象和组织你的代码,使其更易于理解和维护。
推荐阅读:
https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA
https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g