go语言

Go中切片的一个笔试知识点

2018-12-04  本文已影响1人  ljh123

今天笔试的时候,遇到一个以前都没有见过切片知识点。

a := [...]int{1,2,3}
b := a
b[1] = 10
fmt.Println(a)

打印的结果是?
[1,2,3]

package main

import "fmt"

func main()  {
    a := [...]int{1,2,3}
    b := a
    c := b
    b[1] = 100
    fmt.Println(a)
    fmt.Println(b)
    fmt.Println(c)
}
输出内容:
[1 2 3]
[1 100 3]
[1 2 3]

也就是说,从这个a切片赋值是非引用,而是分配新的内存,并将a切片的值复制给这个新切片

上一篇 下一篇

猜你喜欢

热点阅读