-
函数
go语言函数格式func function_name (list) return_types{ return}
func为函数定义关键字
function_name为函数名称
list为参数列表,可为空
return_types返回值类型,可多个,可为空,当返回值为一个时,返回类型不加括号,当返回值为多个时,返回类型加括号,go语言的参数传递一致为值传递
接收返回值时遇到不想处理的返回值,可以用"_"代替不想处理的返回参数 -
例子:
package main
import (
"fmt"
)
func main() {
/* for 循环 */
a, b := 10, 8
c, d, _ := function1(a, b)
fmt.Println("a:%d,b:%d", c, d)
}
func function1(a int, b int) (int, int, string) {
a++
b--
var str string = fmt.Sprintf("a为%d,b为%d", a, b)
return a, b, str
}
- 函数闭包
go可以在函数内创建一个函数以形成闭包
func function() func() int {
i := 0
return func() int {
i += 1
return i
}
}
func main() {
i := function()
fmt.Println(i())
}
- 函数作为参数
go语言可以将函数当作参数
例子
func main() {
i := func(a int) int {
a++
return a
}
fmt.Println(i(5))
}