Go教程

golang中函数的参数

本文主要是介绍golang中函数的参数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1. 函数当做函数的参数

package main

import "fmt"

type HandleFunc func(int) (int, bool)

func add10(num1 int) (int, bool) {
	return num1 + 100, true
}

func proxy(data int, exec HandleFunc) int {
	data, flag := exec(data)
	if flag {
		return data
	} else {
		return 9999
	}
}

func main() {
	ret := proxy(10, add10)
	fmt.Println(ret)
}

 

2. 可变参数

package main

import "fmt"

func do(nums ...int) (sum int) {
	// 可变参数
	for _, v := range nums {
		sum += v
	}
	return
}

func main() {
	// 可变参数可以传递多个值
	ret := do(1, 2, 3)
	fmt.Println(ret)

	// 可变参数也可以传递一个切片然后三个...
	// 也就是将切片拆成多个参数
	ret2 := do([]int{11, 22, 33}...)
	fmt.Println(ret2)
}

 - 可变参数注意事项:变长参数只能放在最后且只能有一个

 

这篇关于golang中函数的参数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!