package conf

const env = "dev"

var devConf = map[string]interface{}{ "port": 8080, }

var prodConf = map[string]interface{}{ "port": 80, }

var Conf = prodConf

func init() { if env == "dev" { Conf = devConf } }

修正:

  • prodConfdevConf 的变量名调换,因为 Conf 的默认值应该是 prodConf,而不是 devConf
  • 将判断逻辑放到 init() 函数中,这样 Conf 的值只会在程序启动时被设置一次。如果将 Conf 的值作为全局变量,在运行时修改 env 的值将不会改变 Conf 的值,这可能会导致程序出现错误或者不符合预期的行为。
请指出以下go代码的问题并修正:package confconst env = devvar devConf = mapstringinterface	port 8080var prodConf = mapstringinterface	port 80var Conf = env == devprodConfdevConf

原文地址: http://www.cveoy.top/t/topic/GBZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录