我已经在 Go 中完成了一些教程,并想尝试一些更相关的东西,我很快就会需要这些东西。我从看毒蛇和眼镜蛇开始。我知道配置文件实际上是供 viper 使用的,而 cobra 只是用它来处理事情。然而,我坚持甚至超过了这一点。我可能会遇到更多错误,但我被困在这个错误上,我找到的任何帮助对帮助我的问题没有任何意义。所以我在 C/C++ 方面有不错的背景。从阅读中,和号和星号以类似的方式使用。这就是为什么我有这个问题。
func init() {
cobra.OnInitialize(initConfig)
rootCmd.PersistentFlags().StringVar(&cfgFile, "config", "", "config file (default is $Home/.cobra.yaml)")
rootCmd.PersistentFlags().StringVarP(&projectBase,"projectbase", "b", "", "base project direcoty eg. github.com")
rootCmd.PersistentFlags().StringP("author", "a", "Rutger", "Written by rutger")
rootCmd.PersistentFlags().StringVarP(&userLicense, "license", "l", "", "My license homie")
viper.BindPFlag("author", rootCmd. PersistentFlags().Lookup("author"))
viper.BindPFlag("projectbase", rootCmd.PersistentFlags().Lookup("projectbase"))
viper.BindPFlag("useViper", rootCmd.PersistentFlags().Lookup("viper"))
viper.SetDefault("author", "Rutger Luther <rutger.luther@printtrackerpro.com")
viper.SetDefault("license", "nachos")
}
这基本上是这里用于毒蛇和眼镜蛇的示例。 去眼镜蛇
问题是我收到这些错误。
cmd\root.go:25:40: undefined: projectBase
cmd\root.go:27:40: undefined: userLicense
cmd\root.go:39:15: undefined: homedir
我第一次打电话给这些,所以我不确定它们会有什么价值。如果这是一个非常简单的问题,我深表歉意。但是其中一些 Go 页面有点难以理解。