我有一个像这样的常量枚举const(PROD_BASEURL="http://prod.abc.com"TEST_BASEURL="http://test.abc.com")在我的函数之一中,我将环境作为输入,并希望相应地访问 const 成员。envUrl := env + "_BASEURL"这里 env 是输入,可以是 PROD 或 TEST。现在,如何通过envUrl变量访问 const 成员而不直接指定 PROD_BASEURL?
2 回答
慕村9548890
TA贡献1884条经验 获得超4个赞
对我来说,你的用例似乎需要一个map。有了地图,您可以像这样编写代码:
baseurls := map[string]string{
"PROD": "http://prod.abc.com",
"TEST": "http://test.abc.com",
}
envUrl := baseurls[env]
噜噜哒
TA贡献1784条经验 获得超7个赞
实现此目的的一种方法是使用结构体而不是常量:
type EnvSet struct {
BaseURL string
// other env specific setting
}
var Prod =EnvSet{BaseURL:"...",...}
var Dev = EnvSet{BaseURL:"...",...}
var selectedEnv EnvSet
switch env {
case "prod": selectedEnv=Prod
case "dev": selectedEnv=Dev
}
- 2 回答
- 0 关注
- 110 浏览
添加回答
举报
0/150
提交
取消