函数定义格式
func FuncName(/*参数列表*/) (o1 type1, o2 type2/*返回类型*/) {
// 函数体
return v1, v2 // 返回多个值
}
函数定义说明
- func: 函数由关键字 func 开始声明
- FuncName: 函数名称,根据规定,函数名首字母小写即为 private, 大写即为 public
- 参数列表: 函数可以有0个或多个参数,参数格式为: 变量名 类型,如果有多个参数通过逗号分隔,不支持默认参数
- 返回类型:
- 上面返回值声明了两个变量名 o1 和 o2 (命名返回参数),这个不是必须,可以只有类型没有变量名
- 如果只有一个返回值且不声明返回值变量,那么你可以省略,包括返回值的括号
- 如果没有返回值,那么就直接省略最后的返回信息
- 如果有返回值,那么必须在函数的内部添加
return
语句
推荐写法
func test() (int a, int b, int c) {
a, b, c = 111, 222, 333
return
}
匿名函数
f1 := func() {
// 函数体
}
f1()
定义匿名函数,同时调用
func() {
// 函数体
}()
回调
func Init(callback func(result string)) {
callback("a")
}
Init(func(content string) {
fmt.Println(content)
})