gpt4 book ai didi

dictionary - 如何使用 GO 构建结构图并向其附加值?

转载 作者:IT王子 更新时间:2023-10-29 02:27:39 24 4
gpt4 key购买 nike

我尝试了很多方法来构建结构图并向其附加值,但我没有找到任何方法。

map 的键是字符串。该结构由两部分组成:“x”整数和“y”一段字符串。

我在构建 map 时遇到的错误是(对于 m):

main.go:11: syntax error: unexpected comma, expecting semicolon, newline, or }

当我尝试向 map 添加新的键和值时,出现错误:

go:33: syntax error: missing operand

package main

import "fmt"

type TEST struct {
x int
y []string
}

// none of these var gives the expected result

var m = map[string]*struct{x int, y []string}{"foo": {2, {"a", "b"}}, }

var m2 = map[string]struct{x int, y []string}{"foo": {2, {"a", "b"}}, }


var n = map[string]*struct{x int
y []string
}{"foo": {2, {"a", "b"}}, }

var o = map[string]*struct{
x int
y []string
}{"foo": {2, {"a", "b"}}, }



func main() {

m["foo"].x = 4
fmt.Println(m["foo"].x)

// how can I had a new key ?

m["toto"].x = 0
m["toto"] = {0, {"c", "d"}}

// and append the string "e" to {"c", "d"} ?

m["toto"].y = append(m["toto"].y, "e")


a := new(TEST)
a.x = 0
a.y = {"c", "d"}

m["toto"] = a

fmt.Println(m)

}

最佳答案

这是一种写法:

package main

import "fmt"


type TEST struct {
x int
y []string
}

var m = map[string]*TEST { "a": {2, []string{"a", "b"}} }


func main() {

a := new(TEST)
a.x = 0
a.y = []string{"c", "d"}

m["toto"] = a

fmt.Println(m)

}

注意:两种类型并不相同,只是因为它们的结构具有相同的字段。

关于dictionary - 如何使用 GO 构建结构图并向其附加值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39292672/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com