Go 没有可选参数 ,也不支持方法重载: 如果方法分派也不需要进行类型匹配,则它会得到简化。使用其他语言的经验告诉我们,具有相同名称但不同签名的各种方法偶尔有用,但在实践中也可能令人困惑和脆弱。仅按名称匹配并要求类型一致是 Go 类型系统中的一个主要简化决策。 原文由 Andrew Hare 发布,翻译遵循 CC BY-SA 3.0 许可协议
实现诸如可选参数之类的东西的一个好方法是使用可变参数。该函数实际上接收您指定的任何类型的切片。 func foo(params ...int) { fmt.Println(len(params)) } func main() { foo() foo(1) foo(1,2,3) } 原文由 Ferguzz 发布,翻译遵循 CC BY-SA 4.0 许可协议
Go 没有可选参数 ,也不支持方法重载: