Go 如何为将来的分配初始化切片? greetslice:=[]字符串{ 您好,%v.欢迎来到这个世界!, 来吧%v探索。, 非常欢迎您来这里%v!, }

Go 如何为将来的分配初始化切片? greetslice:=[]字符串{ 您好,%v.欢迎来到这个世界!, 来吧%v探索。, 非常欢迎您来这里%v!, },go,slice,Go,Slice,如果我想这样做怎么办 var greetslice[]字符串 greetslice={ 您好,%v.欢迎来到这个世界!, 来吧%v探索。, 非常欢迎您来这里%v!, } 但是出现了以下错误 # greetings ../greetings/greetings.go:29:15: syntax error: unexpected {, expecting expression ../greetings/greetings.go:35:2: syntax error: non-declaration

如果我想这样做怎么办

var greetslice[]字符串 greetslice={ 您好,%v.欢迎来到这个世界!, 来吧%v探索。, 非常欢迎您来这里%v!, } 但是出现了以下错误

# greetings
../greetings/greetings.go:29:15: syntax error: unexpected {, expecting expression
../greetings/greetings.go:35:2: syntax error: non-declaration statement outside function body
如何先初始化切片,然后再正确分配一些值?

此分配:

greetslice = {
    "Hello, %v. Welcome to the world!",
    "Come on %v Explore.",
    "You are very welcome here %v!",
}
这是无效的。必须包括以下类型:

greetslice = []string{
    "Hello, %v. Welcome to the world!",
    "Come on %v Explore.",
    "You are very welcome here %v!",
}
试一试这个

另一个选项是使用内置函数将值附加到甚至可能为零的切片:

试一试这个

还请注意,如果您知道要添加多少元素,可以使用0长度和足够的容量初始化切片,这可能会加快进一步的追加操作:

var greetslice = make([]string, 0, 3) // room for 3 elements to append later
本任务:

greetslice = {
    "Hello, %v. Welcome to the world!",
    "Come on %v Explore.",
    "You are very welcome here %v!",
}
这是无效的。必须包括以下类型:

greetslice = []string{
    "Hello, %v. Welcome to the world!",
    "Come on %v Explore.",
    "You are very welcome here %v!",
}
试一试这个

另一个选项是使用内置函数将值附加到甚至可能为零的切片:

试一试这个

还请注意,如果您知道要添加多少元素,可以使用0长度和足够的容量初始化切片,这可能会加快进一步的追加操作:

var greetslice = make([]string, 0, 3) // room for 3 elements to append later

您可以声明具有容量的切片,并在需要时向其添加数据。您可以声明具有容量的切片,并在需要时向其添加数据。