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 参数配置默认值设计架构
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。