下面是一个使用Golang读取和解析配置文件的简单演示代码:
package main
import (
"fmt"
"log"
"os"
"github.com/spf13/viper"
)
type Config struct {
AppName string `mapstructure:"app_name"`
LogLevel string `mapstructure:"log_level"`
DBConfig struct {
Host string `mapstructure:"host"`
Port int `mapstructure:"port"`
User string `mapstructure:"user"`
Password string `mapstructure:"password"`
} `mapstructure:"db_config"`
}
func main() {
viper.SetConfigName("config")
viper.SetConfigType("yaml")
viper.AddConfigPath(".")
err := viper.ReadInConfig()
if err != nil {
log.Fatalf("Failed to read config file: %v", err)
}
var config Config
err = viper.Unmarshal(&config)
if err != nil {
log.Fatalf("Failed to unmarshal config: %v", err)
}
fmt.Println("App Name:", config.AppName)
fmt.Println("Log Level:", config.LogLevel)
fmt.Println("DB Host:", config.DBConfig.Host)
fmt.Println("DB Port:", config.DBConfig.Port)
fmt.Println("DB User:", config.DBConfig.User)
fmt.Println("DB Password:", config.DBConfig.Password)
os.Exit(0)
}
请确保已经在项目中安装了依赖包github.com/spf13/viper,你可以使用go get命令进行安装。
上述代码假设配置文件名为config.yaml,并与可执行文件在同一目录下。你可以根据需要自行修改配置文件名和路径。同时,你也可以根据实际需要定义和解析更多的配置项。
内容由零声教学AI助手提供,问题来源于学员提问




