如果您想要获取默认分区,则可以用空字符串代替分区名:

    相对应的,还可以使用 ini.DEFAULT_SECTION 来获取默认分区:

    1. sec, err := cfg.GetSection(ini.DEFAULT_SECTION)

    如果不小心判断错了,要获取的分区其实是不存在的,那会发生什么呢?没事的,它会自动创建并返回一个对应的分区对象给您。

    创建一个分区:

    1. err := cfg.NewSection("new section")
    1. names := cfg.SectionStrings()

    您可以在分区名称中使用 来表示两个或多个分区之间的父子关系。如果某个键在子分区中不存在,则会去它的父分区中再次寻找,直到没有父分区为止。

    1. cfg.Section("package.sub").Key("CLONE_URL").String() // https://gopkg.in/ini.v1

    无法解析的分区

    如果遇到一些比较特殊的分区,它们不包含常见的键值对,而是没有固定格式的纯文本,则可以使用 LoadOptions.UnparsableSections 进行处理:

    1. cfg, err := ini.LoadSources(ini.LoadOptions{
    2. UnparseableSections: []string{"COMMENTS"},
    3. }, `[COMMENTS]
    4. body := cfg.Section("COMMENTS").Body()
    5. /* --- start ---
    6. <1><L.Slide#2> This slide has the fuel listed in the wrong units <e.1>