package server
//定义选项结构
type Options struct {
UserName string
Password string
Host string
Port int16
}
type Option func(*Options)
type Server struct {
Options Options
//other
}
func NewServer(options ...Option) *Server{
s:= &Server{Options:Options{
UserName: "root",
Password: "1234",
Host: "localhost",
Port: 8000,
}}
for _,v := range options{
v(&s.Options)
}
//other
return s
}
func UserName(name string) Option{
return func(o *Options) {
o.UserName = name
}
}
Go 参数配置默认值设计架构
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...