发布时间:2024-11-24 08:07:26
import (
"github.com/spf13/viper"
)
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)
}
// 读取配置参数
dbHost := viper.GetString("database.host")
dbPort := viper.GetInt("database.port")
fmt.Printf("Database host: %s, port: %d", dbHost, dbPort)
}
上述代码会从当前目录中读取名为`config.yaml`的配置文件,并获取其中的`database.host`和`database.port`的值。
import (
"github.com/spf13/cobra"
)
var host string
var port int
func main() {
var rootCmd = &cobra.Command{
Use: "app",
Short: "A sample application",
Run: func(cmd *cobra.Command, args []string) {
fmt.Printf("Database host: %s, port: %d", host, port)
},
}
rootCmd.Flags().StringVar(&host, "host", "localhost", "Database host")
rootCmd.Flags().IntVar(&port, "port", 3306, "Database port")
rootCmd.Execute()
}
上述代码定义了一个名为`app`的命令,当执行`app`命令时会打印`host`和`port`的值。