为了账号安全,请及时绑定邮箱和手机立即绑定

在结构中声明和使用映射

在结构中声明和使用映射

Go
湖上湖 2023-07-31 11:00:17
我对 golang 非常菜鸟,几天前才开始。实际上我正在尝试做一个简单的练习来习惯 golang 语法。我在 main.go 中有这个:package main import(    "fmt"    // "stringa"    "main/survey")func main() {    var questions = []survey.Question{        {            Label: "Questão 1",            Instructions : "Instrução",            Options : {                1 : "Op1",                2 : "Op2",            },            Answer: {                1 : "Op1",            },        },    }    fmt.Println(questions[0].Label)}我尝试制作一个简单的结构,但我知道。如果我使用接口,问题就可以解决,但如果在接下来的步骤中,我将需要在结构中使用地图......PS:这是我使用过的示例结构:package surveyimport(    // "fmt"    // "strings"    // "strconv")// This is a simple Question in a survey codetype Question struct {    // This is a label for the quetsion    Label string    // This is a instructions and is not required    Instructions string    // this is a multiple options answer    Options map[int]string    // this is a answer correct response    Answer map[int]string}最后的问题是:如何在结构内部的参数中使用映射并将其写入声明中?
查看完整描述

1 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

类型 ( map[int]string) 必须在结构体字段值的复合文字表达式中使用:


var questions = []survey.Question{

    {

        Label:        "Questão 1",

        Instructions: "Instrução",

        Options: map[int]string{

            1: "Op1",

            2: "Op2",

        },

        Answer: map[int]string{

            1: "Op1",

        },

    },

}

复合文字表达式中的类型只能在切片元素(与 的元素一样[]survey.Question)、映射键和映射值上被省略。


在 Go 游乐场上运行它



查看完整回答
反对 回复 2023-07-31
  • 1 回答
  • 0 关注
  • 76 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信