golang读文件是非常方便快捷的。就简单几步:
第一步:打开文件;
第二步:读取文件内容;
第三步:关闭文件
下面是简单的示例:
func FileRead(path string) (string, error) {
file, err := os.Open(path) //第一步:打开文件。
if err != nil {
fmt.Pringln("读取日志文件失败", err)
return "", err
}
defer file.Close() //第三步:退出前关闭文件
fd, err := ioutil.ReadAll(file) //第二步:读取文件内容到byte数组fd中,
if err != nil {
fmt.Println("ioerror", err.Error())
return "", err
}
return string(fd), nil
}
前篇中介绍go程序加载ini格式的配置内容时有提到,配置内容的数据源可以是本地,也可以是第三方来源。通过读文件,就是从本地ini配置文件中获取配置内容,然后加载到内存中。也就是在LoadConfig之前,先通过FileRead读取配置文件内容,然后在加载配置方法中,将配置文件的内容,保存到内存中。
如果再写个定时器,每分钟或者每多少秒,先读一次配置文件内容,再调用LoadConfig方法装载配置内容,是不是就是一个简单的配置文件守护功能,只要配置文件一变化,则在下一个周期自动刷新内存中的配置内容。