Golang 选项模式

需求

Golang不支持在函数定义的时候声明默认值,也就是说我们不能够使用类似下面的代码

1
2
3
func New(addr string="localhost",  port string="8080"){
...
}

并且也不支持函数的重载,函数名不能够重复,无法根据需要的参数数量创建不同的函数形式,也就是我们不能使用下面的方式

1
2
3
4
5
6
7
func New(addr string){
...
}
// 再次使用同样的函数名会报错
func New(addr string, port string){
...
}
阅读更多