在 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