Go 为什么变量n2返回整数而不是切片?

Go 为什么变量n2返回整数而不是切片?,go,slice,Go,Slice,我在做一些动态切片练习时,遇到了一个场景,其中一个切片变量被转换成整数 package main import "fmt" func main() { var sli []int numbers := [10]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} fmt.Println(sli == nil) sli = numbers[2:4] numbers[5] = 100 fmt.Println(s

我在做一些动态切片练习时,遇到了一个场景,其中一个切片变量被转换成整数

package main

import "fmt"

func main() {
    var sli []int

    numbers := [10]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
    fmt.Println(sli == nil)
    sli = numbers[2:4]
    numbers[5] = 100
    fmt.Println(sli, len(sli), cap(sli))
    news := append(sli, 500, 500)

    fmt.Println(news)
    fmt.Println(sli)
    fmt.Println(numbers)
    n2 := copy(sli, news)

    fmt.Println(n2)
}
n变量打印[2]的2个insead或任何表示它是一个切片的内容。这里是goplay地面链接

Copy返回复制的元素数,它是len(src)和len(dst)中的最小值

sli=numbers[2:4]
-因此
sli
的长度为2。

请参见