[Golang] 实战小技巧

您所在的位置:网站首页 host配置文件路径 [Golang] 实战小技巧

[Golang] 实战小技巧

2023-06-05 06:19| 来源: 网络整理| 查看: 265

😚一个不甘平凡的普通人,致力于为Golang社区和算法学习做出贡献,期待您的关注和认可,陪您一起学习打卡!!!😘😘😘 🤗专栏:算法学习 🤗专栏:Go实战 💬个人主页:个人主页

在这里插入图片描述

文章目录 前言问题描述解决

前言

在使用viper去寻找配置文件的时候,老是出错,之前已经遇到过了一次,没搞懂,所以我想总结一篇文章来记录这个问题。

问题描述

我想要让inital包中的viper函数读取 同一目录下的config包中的config.yaml文件,老是访问错误 配置文件读取部分代码:

//已修改后的代码 可以正常访问 v := viper.New() //v.SetConfigFile("config/config.yaml") v.AddConfigPath("config") v.SetConfigName("config") v.SetConfigType("yaml") err := v.ReadInConfig() // 查找并读取配置文件 if err != nil { // 处理读取配置文件的错误 panic(fmt.Errorf("Fatal error config file: %s \n", err)) } v.WatchConfig() v.OnConfigChange(func(e fsnotify.Event) { // 配置文件发生变更之后会调用的回调函数 fmt.Println("Config file changed:", e.Name) if err := v.Unmarshal(&global.G_CONFIG); err != nil { fmt.Println(err) } }) if err := v.Unmarshal(&global.G_CONFIG); err != nil { fmt.Println(err) }

目标配置文件 在这里插入图片描述

解决

首先应该明白的是,从哪里开始寻找。 viper在哪里调用,是在我的main方法里调用,所以就会从main方法所在的目录这级开始寻找。 第二:viper中读取配置文件的方式有两种。

第一种:直接写该配置文件的绝对路径 v.SetConfigFile("config/config.yaml") 第二种:写配置文件的所有在,配置文件的名字,配置文件的后缀 v.AddConfigPath("config") v.SetConfigName("config") v.SetConfigType("yaml")

清晰这两点,我相信你应该不会在配置文件这块出错了,关注我,学习更多的go实战小技巧!!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3