猿问

Go中“...Type”是什么意思?

此代码位于builti.go:


// The append built-in function appends elements to the end of a slice. If

// it has sufficient capacity, the destination is resliced to accommodate the

// new elements. If it does not, a new underlying array will be allocated.

// Append returns the updated slice. It is therefore necessary to store the

// result of append, often in the variable holding the slice itself:

//  slice = append(slice, elem1, elem2)

//  slice = append(slice, anotherSlice...)

// As a special case, it is legal to append a string to a byte slice, like this:

//  slice = append([]byte("hello "), "world"...)

func append(slice []Type, elems ...Type) []Type

最后一行让我感到非常困惑。我不知道是什么意思...Type。


这些是其他代码:


package main


import "fmt"


func main() {

   s := []int{1,2,3,4,5}

   s1 := s[:2]

   s2 := s[2:]

   s3 := append(s1, s2...)

   fmt.Println(s1, s2, s3)

}

结果是


[1 2] [3 4 5] [1 2 3 4 5]

我猜 的功能...是从 中挑选所有元素elems,但我还没有找到官方解释。它是什么?


慕标琳琳
浏览 190回答 1
1回答

慕容708150

builtin.go 中的代码用作文档。代码未编译。在...指出这个函数的最后一个参数是可变参数。Go 语言规范中记录了可变参数函数。简而言之,可以使用任意数量的参数作为最终参数调用可变参数函数。该类型的部分为任何围棋类型替身。
随时随地看视频慕课网APP

相关分类

Go
我要回答