代码拉取完成,页面将自动刷新
package main
import (
"encoding/json"
"errors"
"fmt"
"io/ioutil"
"gopkg.in/yaml.v2"
)
var (
CONFIG_PATH = "/work/config/config.yaml"
CONFIG_PREFIX = "/work/config/"
//CONFIG_PATH = "D:\\Config\\modbus\\config.yaml"
//CONFIG_PREFIX = "D:\\Config\\modbus\\"
)
type ModBusConfigError int
var (
FILE_PATH_NOEXIT = errors.New("文件地址不存在")
// modpoll port
MODPOLL_PORT uint64 = 502
// modpoll ip
MODPOLL_IP string
SERIAL_PORT string
//log enabled
LOGGER_ENABLED bool
)
func NewConfig() (*ModbusAppConfig, error) {
yamlFile, err := ioutil.ReadFile(CONFIG_PATH)
if err != nil {
return nil, fmt.Errorf("[NewConfig]->ioutil.ReadFile error,%w", err)
}
var config = &ModbusAppConfig{}
if err := yaml.Unmarshal(yamlFile, config); err != nil {
return nil, fmt.Errorf("[NewConfig]->yaml.Unmarshal error,%w", err)
}
if config.Modpoll.Port > 0 {
MODPOLL_PORT = config.Modpoll.Port
}
MODPOLL_IP = config.Modpoll.IP
SERIAL_PORT = config.Modpoll.SerialPort
LOGGER_ENABLED = config.Logger.Enabled
return config, nil
}
func ParseConfig(model interface{}, fileName string) error {
if len(fileName) == 0 {
return FILE_PATH_NOEXIT
}
yamlFile, err := ioutil.ReadFile(CONFIG_PREFIX + fileName)
if err != nil {
return fmt.Errorf("[ParseConfig]->ioutil.ReadFile error,%w", err)
}
if err := json.Unmarshal(yamlFile, model); err != nil {
return fmt.Errorf("[ParseConfig]->json.Unmarshal error,%w", err)
}
return nil
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。