55 lines
1.9 KiB
Markdown
55 lines
1.9 KiB
Markdown
INI [![Build Status](https://travis-ci.org/go-ini/ini.svg?branch=master)](https://travis-ci.org/go-ini/ini) [![Sourcegraph](https://img.shields.io/badge/view%20on-Sourcegraph-brightgreen.svg)](https://sourcegraph.com/github.com/go-ini/ini)
|
|
===
|
|
|
|
![](https://avatars0.githubusercontent.com/u/10216035?v=3&s=200)
|
|
|
|
Package ini provides INI file read and write functionality in Go.
|
|
|
|
## Features
|
|
|
|
- Load from multiple data sources(`[]byte`, file and `io.ReadCloser`) with overwrites.
|
|
- Read with recursion values.
|
|
- Read with parent-child sections.
|
|
- Read with auto-increment key names.
|
|
- Read with multiple-line values.
|
|
- Read with tons of helper methods.
|
|
- Read and convert values to Go types.
|
|
- Read and **WRITE** comments of sections and keys.
|
|
- Manipulate sections, keys and comments with ease.
|
|
- Keep sections and keys in order as you parse and save.
|
|
|
|
## Installation
|
|
|
|
The minimum requirement of Go is **1.6**.
|
|
|
|
```sh
|
|
$ go get gopkg.in/ini.v1
|
|
```
|
|
|
|
Please add `-u` flag to update in the future.
|
|
|
|
## Go Modules
|
|
|
|
For historical reason, people use two different import paths for this package: `github.com/go-ini/ini` and `gopkg.in/ini.v1`. If you get error similar to the following one:
|
|
|
|
```
|
|
go: finding github.com/go-ini/ini v0.0.0-00010101000000-000000000000
|
|
go: github.com/go-ini/ini@v0.0.0-00010101000000-000000000000: unknown revision 000000000000
|
|
go: error loading module requirements
|
|
```
|
|
|
|
It is because one of your dependencies is using deprecated import path `github.com/go-ini/ini`, you can make a quick fix by adding the following line to your `go.mod` file (`v.1.44.0` was the latest version tagged on `master` branch):
|
|
|
|
```
|
|
replace github.com/go-ini/ini => gopkg.in/ini.v1 v1.44.0
|
|
```
|
|
|
|
## Getting Help
|
|
|
|
- [Getting Started](https://ini.unknwon.io/docs/intro/getting_started)
|
|
- [API Documentation](https://gowalker.org/gopkg.in/ini.v1)
|
|
|
|
## License
|
|
|
|
This project is under Apache v2 License. See the [LICENSE](LICENSE) file for the full license text.
|