transfer.sh/vendor/github.com/vaughan0/go-ini
Remco cb6e5cb0c7 Major rewrite
* use dep for vendoring
* lets encrypt
* moved web to transfer.sh-web repo
* single command install
* added first tests
2017-03-22 18:09:21 +01:00
..
ini.go Major rewrite 2017-03-22 18:09:21 +01:00
ini_linux_test.go Major rewrite 2017-03-22 18:09:21 +01:00
ini_test.go Major rewrite 2017-03-22 18:09:21 +01:00
LICENSE Major rewrite 2017-03-22 18:09:21 +01:00
README.md Major rewrite 2017-03-22 18:09:21 +01:00
test.ini Major rewrite 2017-03-22 18:09:21 +01:00

go-ini

INI parsing library for Go (golang).

View the API documentation here.

Usage

Parse an INI file:

import "github.com/vaughan0/go-ini"

file, err := ini.LoadFile("myfile.ini")

Get data from the parsed file:

name, ok := file.Get("person", "name")
if !ok {
  panic("'name' variable missing from 'person' section")
}

Iterate through values in a section:

for key, value := range file["mysection"] {
  fmt.Printf("%s => %s\n", key, value)
}

Iterate through sections in a file:

for name, section := range file {
  fmt.Printf("Section name: %s\n", name)
}

File Format

INI files are parsed by go-ini line-by-line. Each line may be one of the following:

  • A section definition: [section-name]
  • A property: key = value
  • A comment: #blahblah or ;blahblah
  • Blank. The line will be ignored.

Properties defined before any section headers are placed in the default section, which has the empty string as it's key.

Example:

# I am a comment
; So am I!

[apples]
colour = red or green
shape = applish

[oranges]
shape = square
colour = blue