菜鸟学go 技巧总结(一)--默认配置

我们经常需要写一些配置性的内容,而这些配置可能非常的复杂,信息比较多,可扩展性多。这时候经常会有一种技巧就是提供默认配置,同时提供自定义配置方法,因为很多人可能使用最常用的几个配置就可以了,这种做法在go里面非常常见。

这里举一个pflag的例子:

var CommandLine = NewFlagSet(os.Args[0], ExitOnError)

// NewFlagSet returns a new, empty flag set with the specified name,
// error handling property and SortFlags set to true.
func NewFlagSet(name string, errorHandling ErrorHandling) *FlagSet {
          
   
	f := &FlagSet{
          
   
		name:          name,
		errorHandling: errorHandling,
		argsLenAtDash: -1,
		interspersed:  true,
		SortFlags:     true,
	}
	return f
}

CommandLine 返回一个 默认的*FlagSet 配置 命令第一个入参作为名称,解析错误执行os.Exit(2)


同时提供了NewFlagSet,允许用户对命令名称,错误退出码自定义指定。因为我们一般使用默认的就足够了,所以这里专门写了一个默认的配置。

经验分享 程序员 微信小程序 职场和发展