惜风不起、唯有努力!
golang 函数使用细节示列

golang 函数使用细节示列

函数返回值命名

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

发表回复

您的电子邮箱地址不会被公开。