英文:
How might I create a map in Go with tuples as values?
问题
你可以使用Go语言中的map来创建一个以字符串为键,以包含一个或多个元素的元组为值的映射。元组中的元素应该是电话号码的字符串。类似于你在Python代码中的示例:
chicas := map[string][]string{
"Alexia": []string{"600000000"},
"Paola": []string{"600000008", "600000007", "600000005", "600000001", "600000004", "600000000"},
"Samanta": []string{"600000009"},
"Wendy": []string{"600000005"},
}
在Go中,你可以使用切片(slice)来表示元组,因为Go中没有内置的元组类型。切片是一个可变长度的序列,可以容纳多个元素。在上面的示例中,每个值都是一个字符串切片,表示电话号码的字符串。
请注意,Go语言中的map是可变的,而不是不可变的。如果你希望使chicas
变量成为不可变的,你可以使用const
关键字将其声明为常量。但是,这意味着你将无法修改chicas
的值。
希望这可以帮助到你!如果你有任何其他问题,请随时问。
英文:
How might I create a map that has strings as keys and tuples ,of one or many elements, as values?
The elements of the tuples are to be strings of phone numbers.
Much like what I have in the following Python code:
chicas = { "Alexia":("600000000"),
"Paola":("600000008", "600000007", "600000005", "600000001", "600000004", "600000000"),
"Samanta":("600000009"),
"Wendy":("600000005")}
The variable chicas
is meant to be immutable.
I've started with:
type chica struct {
name string
number tuple
}
but I get from Go: undefined: tuple
.
答案1
得分: 1
如果你的值的大小是固定的,你可以创建一个像你现在有的类型,或者只使用一个map[string]string
。
例如:
type MyTuple struct {
key string
value string
}
func main() {
var x := make(map[string]MyTuple)
x["foo"] = MyTuple{ key: "bar", value: "baz" }
}
另外,你也可以使用map[string][]string
来创建一个字符串到字符串切片的映射,[]MyTuple
来创建一个字符串到MyTuple
切片的映射,或者map[string]map[string]string
来创建一个包含映射的字符串映射。
英文:
If the size of your values are fixed, you can make a type like you have, or just use a map[string]string
Eg:
type MyTuple struct {
key string
value string
}
func main() {
var x := make(map[string]MyTuple)
x[“foo”] = MyTuple{ key: “bar”, value: “baz” }
}
Alternatively, you can do map[string][]string to make a map of strings to slices of strings, []MyTuple, or map[string]map[string]string to make a map of strings containing maps.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论