gocron/modules/setting/setting.go

47 lines
898 B
Go
Raw Normal View History

2017-03-10 09:08:51 +00:00
package setting
import (
2017-04-02 02:38:49 +00:00
"errors"
"gopkg.in/ini.v1"
2017-03-10 09:08:51 +00:00
)
const DefaultSection = "default"
2017-03-10 09:08:51 +00:00
// 读取配置
func Read(filename string) (*ini.Section,error) {
config, err := ini.Load(filename)
2017-04-02 02:38:49 +00:00
if err != nil {
return nil, err
2017-04-02 02:38:49 +00:00
}
section := config.Section(DefaultSection)
2017-03-10 09:08:51 +00:00
return section, nil
2017-03-10 09:08:51 +00:00
}
// 写入配置
2017-05-23 07:16:39 +00:00
func Write(config []string, filename string) error {
2017-04-02 02:38:49 +00:00
if len(config) == 0 {
return errors.New("参数不能为空")
}
2017-05-23 07:16:39 +00:00
if len(config) % 2 != 0 {
return errors.New("参数不匹配")
}
2017-03-10 09:08:51 +00:00
2017-04-02 02:38:49 +00:00
file := ini.Empty()
section, err := file.NewSection(DefaultSection)
if err != nil {
return err
}
2017-05-23 07:16:39 +00:00
for i := 0 ;i < len(config); {
_, err = section.NewKey(config[i], config[i+1])
2017-04-02 02:38:49 +00:00
if err != nil {
return err
}
2017-05-23 07:16:39 +00:00
i += 2
2017-04-02 02:38:49 +00:00
}
err = file.SaveTo(filename)
2017-03-10 09:08:51 +00:00
2017-04-02 02:38:49 +00:00
return err
2017-04-02 02:19:52 +00:00
}