项目作者: conero

项目描述 :
golang parse for ini
高级语言: Go
项目地址: git://github.com/conero/inigo.git
创建时间: 2018-08-16T01:31:47Z
项目社区:https://github.com/conero/inigo

开源协议:Apache License 2.0

下载


inigo (go ini 文件解析库)

项目以及迁移到:github.com/conero/uymas/parser/xini,该库将不再更新和维护

项目管理

  • master 主分支;用户可下载使用
  • alpha 开发数据分支(develop),程序开发不直接操作master 而由开发该分组再合并到主分支
  • demo 项目实际测试;
  • document 项目文档
  • v{n} 历史版本分支,历史保存

设计

  • Parser 解析器接口
    • BaseParser 默认ini 文件解析器
    • RongParser rong ini 文件解析器
    • TomlParser toml 文件解析的支持
  • FileParser 文件解析器接口
  • StrParser 字符串解析器接口

Base 解析器

支持基本的 ini 文件解析,和简单的扩展语法

支持类型


与 go 语言特性紧密结合

  1. bool
  2. b1 = true // 不区分大小写
  3. b2 = false
  4. int64
  5. i = 56
  6. float64
  7. f64 = 78.455
  8. string
  9. s1 = 字符串,无效引号
  10. s2 = '可使用单引号'
  11. s3 = "依赖可用双引号"
  12. array/slice
  13. // 单行数组
  14. inta = 1, 5, 4, 6, 7, 9
  15. floata = 7.54, 6.24, 74.24
  16. stra = tttt, kdjd, ddd
  17. stra2 = "ffff,fff", 'hhhh', ttt
  18. stra2 = "ffff,fff", 'hhhh', "ttt"
  19. map
  20. // 简单二级"."操作,不能大于三年级如: map.c1.c2
  21. // 该写法与 PHP.ini 配置文件相识,亦可考虑设置开关键
  22. // map[interface{}]interface{}
  23. m.name = map 数据类型处理
  24. m.78 = 5555

指定定义变量/引用值

  1. ; 定义变量
  2. $var = 85
  3. author = Joshua Conero
  4. str = "the var is : $var" ; the var is : 85
  5. str2 = 'the var is : $var' ; the var is : $var
  6. str3 = "the var is : &author" ; the var is : Joshua Conero

分支

  • v0.x 版本
    • 详情
    • 开发周期: @20170119 - 20170424
      v1.x 版本 (开发中)
    • 开始: 20171028 ->
      v2.x (版本)
      • 通过对 go 语言的学习重新库;v1.x中项目设计多数受其他语言的影响,完全按照go语言的风格。

使用

安装

  1. # github
  2. $ go get -u github.com/conero/inigo

获取解析器

  1. // 获取默认解析器(BaseParser)
  2. ini := inigo.NewParser()
  3. rong := inigo.NewParser("rong")
  4. //或者
  5. rong2 := inigo.NewParser(map[string]interface{}{
  6. "driver": "rong"
  7. })

v2.x (20180819 - )

v2.0 第二版本的初始版本,项目开发中。到 v2.1 将趋于稳定

特性

  • 使用新的 git 管理方式;见 项目管理
  • 程序测试使用go语言提供的 test 测试程序
  • 删除项目中与库无关的文件夹,转移至分支

go 开发环境: