1 回答

TA貢獻2021條經(jīng)驗 獲得超8個贊
至少在 Golang 中,getter 的使用是一種反模式。這種期權(quán)模式是眾所周知的。Setter 和 getter 在 Golang 空間中并不常見。
此選項模式有一個不錯的好處,您可以將多個選項函數(shù)傳遞給您的構(gòu)建器或構(gòu)造函數(shù),然后遍歷所有傳遞的選項以修改此選項類型,就像在您的示例中一樣
// then. we build a new object, we just need to receive a list of option
func NewObject(options ...Option) Object {
final := &Options{}
// then apply each option to options
for _, option := range options {
option(final)
}
// then build an object based on the final object
}
構(gòu)造函數(shù)調(diào)用示例:
NewObject(optionA, optionB, optionC, optionD)
吸氣劑和二傳手
https://golang.org/doc/effective_go.html#Getters
你肯定讀過有效的圍棋指南 -> https://golang.org/doc/effective_go.html
- 1 回答
- 0 關(guān)注
- 126 瀏覽
添加回答
舉報