使用其他变量中的数据引用go中的变量?

时间:2019-08-26 22:24:32

标签: variables go

我是go /编码的新手。我希望能够使用变量来引用变量。

var a = make([]int,0)
var b = make([]int,0)
var c = make([]int,0)

我定义了一些切片

set := input.Ask("Which set would you like to input to (a, b, c):")
for true {
  num := input.Ask("Number:")
  strings.toLower(set) = append(strings.toLower(set), num)
}

我希望“ strings.tolower”部分输出一个字符串,它确实可以使我选择已定义的变量之一。

2 个答案:

答案 0 :(得分:3)

这听起来像是字符串键映射的一般描述:您有三个值,并且您想根据某个字符串值选择使用哪个值。

maps := map[string][]int{}

set := input.Ask("Which set would you like to input to:")
set = strings.toLower(set)
for true {
    num := input.Ask("Number:")
    maps[set] = append(maps[set], num)
}

如果仅能使用这三个值之一对您很重要,则可以预填充地图

maps := map[string][]int{
    "a": nil,
    "b": nil,
    "c": nil,
}
set := input.Ask("Which set would you like to input to (a, b, or c):")
set = strings.toLower(set)
if _, ok := maps[set]; !ok {
    fmt.Println("I don't know about that set")
    return
}

more information on maps in the language spec

答案 1 :(得分:-1)

您可以执行以下操作:

var selected *[]int
switch strings.ToLower(set) {
  case "a": selected = &a
  ...
}
*selected = append(*selected, num)