You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Go语言中如何正确为结构体赋值切片类型的映射?

Go语言结构体中切片类型映射的正确赋值方式

你的代码存在两个语法问题,导致编译报错:

  1. 结构体初始化字段末尾缺少逗号:Go语言规定,当结构体初始化的字段采用分行书写形式时,每个字段(包括最后一个)的末尾都必须添加逗号,这是Go的语法要求,用于避免换行带来的语法歧义。
  2. map中切片值的字面量未显式声明类型:在map字面量中,直接使用{"value1", "value2"}无法被编译器正确识别为切片类型,必须显式声明为[]string{"value1", "value2"}。

修正后的代码如下:

package main

import (
    "fmt"
)

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

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

func main() {
    fmt.Println(t)
}

运行这段代码即可正常输出结构体内容。

内容的提问来源于stack exchange,提问作者royskatt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 15:05:22