最近GO语言开发,最大的一个感触就是需要自己动手写很多东西。
由于我自己的项目经常需要线上线下切换,本地编译好之后放到线上经常忘记将数据库地址改为线上的,导致很多时间浪费在这里。所以在网上找了一些引入INI配置文件的包,打算放一个到线上,一个线下,GO在运行时自己根据撸进去的配置文件参数连接不同数据库。
在网上找了一些发现大量的BUG,非常不好用,所以今天利用大半天自己写了一个简单的包,做了不少的安全判断,已经在生产环境使用了。
git地址:
go get https://github.com/aWildProgrammer/fconf
以下为演示文件,保存为demo.ini
[mysql] db1.Name = testMysqlDB db1.Host = 127.0.0.1 db1.Port = 3306 db1.User = root db1.Pwd = test ; 测试INI风格的注释 ; 这两行数据的前前面加入了分号,因此,这些数据被认为是注释,将不会影响配置文件正常情况 [tcp] Port=3309
调用方式:
import ( "fmt" "github.com/aWildProgrammer/fconf" ) func main() { c, err := fconf.NewFileConf("./demo.ini") if err != nil { fmt.Println(err) return } fmt.Println(c.String("mysql.db1.Host")) fmt.Println(c.String("mysql.db1.Name")) fmt.Println(c.String("mysql.db1.User")) fmt.Println(c.String("mysql.db1.Pwd")) // 取得配置时指定类型 port, err := c.Int("mysql.db1.Port") if err != nil { panic(err) } fmt.Println(port) } 输出:
127.0.0.1 testMysqlDB root test 3306
特别声明:以上文章内容仅代表作者本人观点,不代表变化吧观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与变化吧联系。
- 赞助本站
- 微信扫一扫
-
- 加入Q群
- QQ扫一扫
-
评论