mirror of
https://gitee.com/shikong-sk/golang-study
synced 2025-02-23 15:32:15 +08:00
43 lines
969 B
Go
43 lines
969 B
Go
package main
|
|
|
|
import "fmt"
|
|
|
|
// func 函数名(参数名 参数类型...) ([返回值名] 返回值类型...){...}
|
|
// 当 连续 多个参数 类型相同时 可省略前面的类型声明
|
|
// 返回值 可不声明 返回值名称
|
|
func sum(x, y int) (res int) {
|
|
res = x + y
|
|
|
|
// 使用命名返回值时 可不写返回变量 直接 return 返回 命名返回值
|
|
return
|
|
}
|
|
|
|
func sum2(x int, y int) int {
|
|
return x + y
|
|
}
|
|
|
|
// 可变参数
|
|
// 可变参数 必须 放在参数中的最后一个
|
|
// golang 中 没有 默认参数 的概念
|
|
func sum3(item ...int) (res int) {
|
|
for _, v := range item {
|
|
res += v
|
|
}
|
|
return
|
|
}
|
|
|
|
func main() {
|
|
res := sum(1, 2)
|
|
fmt.Printf("res => %T %+v\n", res, res)
|
|
|
|
fmt.Println("=========================================================")
|
|
|
|
res = sum2(1, 2)
|
|
fmt.Printf("res => %T %+v\n", res, res)
|
|
|
|
fmt.Println("=========================================================")
|
|
|
|
res = sum3(1, 2, 3)
|
|
fmt.Printf("res => %T %+v\n", res, res)
|
|
}
|