3 回答
郎朗坤
TA贡献1921条经验 获得超9个赞
Go中可选参数的惯用答案是包装函数:
func do(a, b, c int) {
// ...
}
func doSimply(a, b) {
do(a, b, 42)
}
有意避免了函数重载,因为它使代码难以阅读。
饮歌长啸
TA贡献1951条经验 获得超3个赞
有一些提示,这里使用可变参数,例如:
sm1 := Sum(1, 2, 3, 4) // = 1 + 2 + 3 + 4 = 10
sm2 := Sum(1, 2) // = 1 + 2 = 3
sm3 := Sum(7, 1, -2, 0, 18) // = 7 + 1 + -2 + 0 + 18 = 24
sm4 := Sum() // = 0
func Sum(numbers ...int) int {
n := 0
for _,number := range numbers {
n += number
}
return n
}
或...interface{}任何类型:
Ul("apple", 7.2, "BANANA", 5, "cHeRy")
func Ul(things ...interface{}) {
fmt.Println("<ul>")
for _,it := range things {
fmt.Printf(" <li>%v</li>\n", it)
}
fmt.Println("</ul>")
}
- 3 回答
- 0 关注
- 232 浏览
添加回答
举报
0/150
提交
取消