Go面试必考题目之slice篇

deletelazy · · 1407 次点击
如果Assign1改一下呢? ``` func Assign1(s []int) { s[0] = 11 //s = []int{6, 6, 6} } ``` 结果是:[11 2 3 4 5 6],似乎这样又是按引用传递,类似还有map和channel。
#4
更多评论
知识点2和3的代码输出注释错了
#1
func main() { s := []int{1, 2, 3} fmt.Println(s, len(s), cap(s)) // 输出:[1, 2, 3] 3 3 a := s s = append(s, 4) // 超过了原来数组的容量 s[0] = 999 fmt.Println(s, len(s), cap(s)) // 输出:[1, 2, 3] 4 6 fmt.Println(a,len(s),cap(s)) // 输出:[1, 2, 3] 3 3 } 认真检查一下
#2