在 Golang 的结构中分配切片的映射

Assigning map of slices in a struct in Golang

提问人:royskatt 提问时间:9/10/2022 最后编辑:royskatt 更新时间:9/10/2022 访问量:214

问:

如何正确地将切片地图分配给 Golang 中的结构? 我试图关注,但它不起作用:

package main

import (
    "fmt"
)

type Test struct {
    name     string
    testCase map[string][]string
}

var t = Test{
    name: "myTest",
    testCase: map[string][]string{"key": {"value1", "value2"}}
}

func main() {

    fmt.Println(t)
}

.\main.go:14:61:语法错误:意外换行符,需要逗号或 }

go struct 切片

评论

1赞 mkopriva 9/10/2022
testCase: map[string][]string{"key":{"value1", "value2"}}
0赞 royskatt 9/10/2022
不,仍然不起作用。
3赞 Inian 9/10/2022
理解错误消息,缺少尾随 .添加它,
0赞 royskatt 9/10/2022
知道了,谢谢。没想到会这样,因为后面什么都没有。

答:

1赞 Nopal 9/10/2022 #1

在分配值时,必须将其类型添加为前缀。

type Test struct {
    name     string
    testCase map[string][]string
}

var t = Test{
    name: "myTest",
    testCase: map[string][]string{
        "key": {"value1", "value2"},
    },
}

不要忘记在项目末尾添加逗号分隔符,因为它 使用垂直样式映射

参考