Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 具有字符串索引的多级切片_String_Go_Slice - Fatal编程技术网

String 具有字符串索引的多级切片

String 具有字符串索引的多级切片,string,go,slice,String,Go,Slice,我有一个如下代码: var c [][]string c = append(c, d) c = append(c, l) 假设d和l都是[]字符串。这是可行的,但是它会返回如下内容: var c [][]string c = append(c, d) c = append(c, l) [02410255700241025571102182000],[0241025570024102557111020000]] 如何将其结构设置为如下所示: var c [][]string c = ap

我有一个如下代码:

var c [][]string

c = append(c, d)
c = append(c, l)
假设d和l都是[]字符串。这是可行的,但是它会返回如下内容:

var c [][]string

c = append(c, d)
c = append(c, l)
[02410255700241025571102182000],[0241025570024102557111020000]]

如何将其结构设置为如下所示:

var c [][]string

c = append(c, d)
c = append(c, l)

[d:[0241025570024102557111020000],l:[0241025570024102557111020000]

您想要的不再是一个切片,而是一张切片图。您可以使用以下代码获得所需的结果:

c := make(map[string][]string)
c["d"] = d
c["l"] = l
根据您的使用情况,您可能希望使用d和l的名称,而不是直接在地图中使用它们:

c := make(map[string][]string)
c["d"] = make([]string, len(d))
c["l"] = make([]string, len(l))
copy(c["d"], d)
copy(c["l"], l)

谢谢,这很有效!你能澄清在什么情况下需要复印吗?我所做的只是构建映射并使用JSON,其他什么都不做。@KNgu:如果您想在映射中存储变量的快照,您只需要复制切片,也就是说,如果您在将变量添加到映射后对d或l进行了更改,您不希望更改反映在映射中。