代码拉取完成,页面将自动刷新
package FlyConfigFile
import (
"errors"
"strings"
"time"
"gitee.com/flyiot/flylibs/FlyUtils"
ini "gopkg.in/ini.v1"
)
type FlyIni struct {
FileName string
Config *ini.File
Ready bool
}
func NewFlyIni(filename string) *FlyIni {
s := FlyIni{}
s.Open(filename)
return &s
}
// 获取串口配置名称
func (s *FlyIni) Open(file string) error {
s.Ready = false
if file == "" {
return errors.New("filename error")
}
if !FlyUtils.FileExists(file) {
return errors.New("file not found: " + file)
}
s.FileName = file
var err error
s.Config, err = ini.Load(s.FileName)
if err == nil {
s.Ready = true
}
return err
}
// GetConfigKey
func (s *FlyIni) GetConfigKey(section string, key string) *ini.Key {
if !s.Ready {
return nil
}
return s.Config.Section(section).Key(key)
}
// GetBool 获取bool
func (s *FlyIni) GetBool(section string, key string, defaults bool) bool {
k := s.GetConfigKey(section, key)
if k == nil {
return defaults
}
return k.MustBool(defaults)
}
// GetDuration
func (s *FlyIni) GetDuration(section string, key string, defaults time.Duration) time.Duration {
k := s.GetConfigKey(section, key)
if k == nil {
return defaults
}
return k.MustDuration(defaults)
}
// GetFloat64
func (s *FlyIni) GetFloat64(section string, key string, defaults float64) float64 {
k := s.GetConfigKey(section, key)
if k == nil {
return defaults
}
return k.MustFloat64(defaults)
}
// GetInt
func (s *FlyIni) GetInt(section string, key string, defaults int) int {
k := s.GetConfigKey(section, key)
if k == nil {
return defaults
}
return k.MustInt(defaults)
}
// GetInt64
func (s *FlyIni) GetInt64(section string, key string, defaults int64) int64 {
k := s.GetConfigKey(section, key)
if k == nil {
return defaults
}
return k.MustInt64(defaults)
}
// GetString
func (s *FlyIni) GetString(section string, key string, defaults string) string {
k := s.GetConfigKey(section, key)
if k == nil {
return defaults
}
return k.MustString(defaults)
}
func (s *FlyIni) GetStringArr(section string, key string, defaults string) []string {
str := s.GetString(section, key, defaults)
return strings.Split(str, ",")
}
// GetTime
func (s *FlyIni) GetTime(section string, key string, defaults time.Time) time.Time {
k := s.GetConfigKey(section, key)
if k == nil {
return defaults
}
return k.MustTime(defaults)
}
// GetUint
func (s *FlyIni) GetUint(section string, key string, defaults uint) uint {
k := s.GetConfigKey(section, key)
if k == nil {
return defaults
}
return k.MustUint(defaults)
}
// GetUint64
func (s *FlyIni) GetUint64(section string, key string, defaults uint64) uint64 {
k := s.GetConfigKey(section, key)
if k == nil {
return defaults
}
return k.MustUint64(defaults)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。