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) }