函数声明
如何声明一个具有明确输入与输出的函数?
- function: 一段可重复调用的代码,可以接收参数并返回结果;
- 声明结构:
func关键字后依次写函数名、参数列表、返回类型和函数体; - 参数: 调用方传给函数的输入值,每个参数都具有确定类型;
- 返回值: 函数交回调用方的结果;没有返回值时省略返回类型;
// add 接收两个 int 参数并返回一个 int
func add(a int, b int) int {
return a + b
}
result := add(2, 3) // 调用时按顺序提供实参,得到返回值 5
println(result)
参数类型简写是什么, 何时可以省略类型?
- parameter type elision: 参数类型省略;相邻参数类型相同时,可只在最后一个参数后声明类型;
// a, b int 表示 a 和 b 都是 int
func add(a, b int) int {
return a + b
}
- 签名阅读:
func add(a, b int) int的逗号把两个同类型输入并列,括号后的 int 是唯一返回值类型;类型简写不改变参数数量或传递方式; - 调用匹配:
add(1, 2)合法,少一个参数或传入不兼容类型都会在编译时被拒绝;