为了账号安全,请及时绑定邮箱和手机立即绑定

如何通过变量间接访问 const enum 的成员?

如何通过变量间接访问 const enum 的成员?

Go
慕神8447489 2023-07-31 16:45:15
我有一个像这样的常量枚举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]


查看完整回答
反对 回复 2023-07-31
?
噜噜哒

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

}


查看完整回答
反对 回复 2023-07-31
  • 2 回答
  • 0 关注
  • 73 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信