函数返回值命名
//原 func funcs (x1 int, x2 int) (int) { res := x1 + x2 return res } func main() { res := funcs(10,20) fmt.Println(res) } ////////////////////////////////////////////////////////////// //后 func funcs (x1 int, x2 int) (res int) { res = x1 + x2 return } func main() { res := funcs(10,20) fmt.Println(res) }
别名(类似)
//原 func func_sz (x1 int, x2 int) int { return x1+x2 } func func_use(funcsx func(int, int)int, num01 int, num02 int) int { return funcsx(num01,num02) } func main () { res := func_use(func_sz,30,20) //以函数形式传参给另一个函数 fmt.Println(res) } ///////////////////////////////////////////////////////////// //后 func func_sz (x1 int, x2 int) int { return x1+x2 } type myfunc func(int,int) int //类似定义别名一样,把类型带入函数内 func func_use(funcsx myfunc, num01 int, num02 int) int { return funcsx(num01,num02) } func main () { res := func_use(func_sz,30,20) fmt.Println(res) type myInt int //还能定义类型,再golang中,int和myInt是2种数据类型 var xx myInt xx = 20 fmt.Println(xx) }
“_” 符号使用
func func_sz (x1 int, x2 int) (res01 int, res02 int, res03 int) { res01 = x1 - x2 res02 = x1 + x2 res03 = x1 * x2 return } func main () { res01,res02,_ := func_sz(10, 3) fmt.Printf("res01=%d, res02=%d", res01,res02) }
golang可变参数使用
func func_sz (x1 int, args... int) (res01 int) { //可变参数必须写形参后面 res01 = x1 for i := 0; i < len(args); i++ { res01 += args[i] } return } func main () { res := func_sz(10,9,20,30,10,100,200) fmt.Printf("res=%d", res) }