gpt4 book ai didi

go - 创建数组数组的复合文字

转载 作者:IT王子 更新时间:2023-10-29 00:45:30 24 4
gpt4 key购买 nike

我想在结构中创建数组数组的复合文字。在结构之外

package main

import "fmt"

func main() {
x := [...][]string {{"a", "b"}}

fmt.Printf("%s", x)
}

有效。 ( http://play.golang.org/p/C2RbNnd7LL )

但我无法在结构中定义 [...][]string 类型的字段。如 http://play.golang.org/p/wHNeeuAJuO

package main

import "fmt"

type t struct {
f [...][]string
}

func main() {
x := [...][]string {{"a", "b"}}
y := t{x}
fmt.Printf("%s", y)
}

f 给出了在数组字面量之外使用 [...] 数组的错误

最佳答案

问题是 [...]elementType 不是有效的类型名称。您可以将语法与初始化语法一起使用,例如 [...]int{1, 2, 3, 4} 因为编译器可以查看有多少元素来确定实际类型([4]int 在这种情况下)。

如果你想要一个没有固定编译时大小的类似数组的类型,请使用 slice :

type t struct {
f [][]string
}

或者,如果元素的数量在编译时是固定的,而您仍想使用数组,则需要在类型定义中指定实际的元素数量。

关于go - 创建数组数组的复合文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27116462/

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