如何动态调用变量?

时间:2018-11-05 20:22:03

标签: go

我有两个变量:

somethingA := 123
somethingB := 456

这两个变量通过系统填充,并假定您有第三个变量:

type := "A"

使用第三个变量,您想调用somethingA,但是不喜欢以下代码:

if type == "A" {
    return somethingA
}else{
    return somethingB
}

但类似:

return something{type}

这样可以吗?

谢谢

2 个答案:

答案 0 :(得分:4)

使用地图

package main

import (
    "fmt"
)

func main() {
        x:=make(map[string]int)
        x["SomethingA"]=123
        x["SomethingB"]=456
    fmt.Println(x["SomethingA"])
    fmt.Println(x["SomethingB"])
}

答案 1 :(得分:2)

  

这样可以吗?

否。

做这种事情的所有方法都归结为您显示的解决方案。