首页 > 解决方案 > 如何通过变量间接访问 const 枚举的成员?

问题描述

我有一个常量枚举

const(
PROD_BASEURL="http://prod.abc.com"
TEST_BASEURL="http://test.abc.com"
)

在我的一个函数中,我将环境作为输入,并希望相应地访问 const 成员。

envUrl := env + "_BASEURL"

这里 env 是输入,可以是 PROD 或 TEST。现在,如何在envUrl不直接指定的情况下通过变量 访问 const 成员PROD_BASEURL

标签: goconstants

解决方案


对我来说,您的用例似乎要求提供map。使用地图,您可以像这样编写代码:

baseurls := map[string]string{
    "PROD": "http://prod.abc.com",
    "TEST": "http://test.abc.com",
}

envUrl := baseurls[env]

推荐阅读