如果我有一个函数,其中最后一个参数是可选的,那么使用它...
来允许参数是可选的是否合适,或者它是否被认为是错误的形式?
例子:
func Foo(s ...string) {
switch len(s) {
case 0:
fmt.Println("You didn't pass an argument")
case 1:
fallthrough
default:
fmt.Printf("You passed %s\n", s[0])
}
}
Foo("bar") // "You passed bar"
Foo() // "You didn't pass an argument"
Foo("bar", "baz") // "You passed bar"
在此示例中,我不在乎是否传递了太多参数,但我可以default:
在需要时处理它。