面试题答案
一键面试- 初始化viper:
import ( "github.com/spf13/viper" ) func main() { v := viper.New() }
- 读取不同格式配置文件:
- JSON格式:
- 设置配置文件路径和名称:
v.SetConfigName("config") // 配置文件名(不含扩展名) v.SetConfigType("json") v.AddConfigPath(".") // 配置文件搜索路径
- 读取配置文件:
err := v.ReadInConfig() if err != nil { if _, ok := err.(viper.ConfigFileNotFoundError); ok { // 配置文件未找到错误处理 } else { // 其他错误处理 } }
- YAML格式:
- 设置配置文件路径和名称:
v.SetConfigName("config") v.SetConfigType("yaml") v.AddConfigPath(".")
- 读取配置文件:
err := v.ReadInConfig() if err != nil { if _, ok := err.(viper.ConfigFileNotFoundError); ok { // 配置文件未找到错误处理 } else { // 其他错误处理 } }
- JSON格式:
- 获取配置项的值:
- 通用获取方式:
value := v.Get("key")
- 获取特定类型值:
- 字符串类型:
strValue := v.GetString("key")
- 整数类型:
intValue := v.GetInt("key")
- 布尔类型:
boolValue := v.GetBool("key")
- 通用获取方式: