Golang可以通过加载toml文件的方式,减少代码移植或环境变更时对代码的修改量。
有这样一份toml文件:
我们需要定义一个结构体类型(Config)来映射配置文件,要注意成员名一定要和配置文件中字段名一致。
结果:
上述代码是加载toml文件最简单粗暴的方式。
当你的工程被要求制作成一个可安装的工具时,加载toml位置时 path := “./conf/projectconfig.toml” 就会有问题,因为这是你工程的路径。
如下提供了一个可以参考的解决办法:
当找不到默认路径(工程目录下的配置文件路径),就返回安装目录下的路径(line:43)
当然你也可以在运行程序时指定toml文件的路径。
使用 flag.Parse() 解析命令行参数。
flag.String(“path”, “”, “toml file path”)有三个参数
- 第一个参数path,是输入命令行参数时的字段名 比如上图的 -path=XXX
- 第二个参数是没有输入命令行参数时的默认值
- 第三个参数是提示信息 go run main.go -help 会打印出来