Go 语言中的函数是可重用的代码块,用于执行某个任务。函数可以接受参数,并返回值。
函数声明
函数声明语法如下:
func function_name(parameters) (return_type) {
// 函数体
}
其中,function_name
是函数名,parameters
是函数的参数列表,return_type
是函数的返回类型。
例如:
func add(x int, y int) int {
return x + y
}
函数调用
函数可以在其他函数中被调用。函数调用语法如下:
function_name(parameters)
例如:
result := add(2, 3)
fmt.Println(result) // 5
函数参数
函数可以接受多个参数。参数可以是:
- 定义的变量类型
- 可变长参数(使用
...
语法) - 关键字参数(使用
name
语法)
例如:
func add(x int, y int, z int) int {
return x + y + z
}
函数返回值
函数可以返回多个值。返回值可以是:
- 定义的变量类型
- 可变长返回值(使用
...
语法)
例如:
func add(x int, y int) (int, int) {
return x + y, x - y
}
函数嵌套
函数可以嵌套调用其他函数。例如:
func outer() {
inner()
}
func inner() {
fmt.Println("inner")
}
函数闭包
函数可以返回一个闭包,这是一个函数对象,可以在其他函数中被调用。例如:
func makeAdder(x int) func(int) int {
return func(y int) int {
return x + y
}
}
adder := makeAdder(2)
result := adder(3)
fmt.Println(result) // 5