我相信将可变参数函数添加到常规函数或方法是基于这篇文章的重大变化。但是向构造函数添加可变参数呢?喜欢添加功能选项。
通过使用 semver,此代码为 v1.0.0
type Foo struct{}
// constructor with default behavior
func NewFoo() *Foo {
return &Foo{}
}
添加可变参数
type Foo struct{}
type Option func(&Foo)
// constructor with option
func NewFoo(opts ...Option) *Foo {
// process option before return
// ...
return &Foo{}
}
旧代码在调用构造函数时仍然很好,并且没有人将构造函数分配给变量并将构造函数传递给另一个函数,就像在这种情况下一样。
那么,在上面的代码中,我应该将主要版本增加到 v2.0.0 还是将次要版本增加到 v1.1.0?
aluckdog
翻阅古今
相关分类