下面两段代码输出什么。
// 1.
func main() {
s := make([]int, 5)
s = append(s, 1, 2, 3)
fmt.Println(s)
}
// 2.
func main() {
s := make([]int,0)
s = append(s,1,2,3,4)
fmt.Println(s)
}
下面两段代码输出什么。
// 1.
func main() {
s := make([]int, 5)
s = append(s, 1, 2, 3)
fmt.Println(s)
}
// 2.
func main() {
s := make([]int,0)
s = append(s,1,2,3,4)
fmt.Println(s)
}
`单行代码`
1) 0,0,0,0,0,1,2,3 2) 1,2,3,4
学到了
1)[0 0 0 0 0 1 2 3] 2) [1 2 3 4]
今天做对了
这个问题 我被坑了一次,涨记性了
ok
di
基础吧这是
面试的时候,我经常会问这种类似的基础题
我以为是12300呢
打卡
mk
做对了,开心
mark
来点难度的呀
// 1. func main() { s := make([]int, 5) s = append(s, 1, 2, 3) fmt.Println(s) }
// 2. func main() { s := make([]int,0) s = append(s,1,2,3,4) fmt.Println(s) }
代码 1 输出:[0 0 0 0 0 1 2 3] 代码 2 输出:[1 2 3 4]
打卡。。。。。。。
1
mark
mark
mk
第二次打卡
[0 0 0 0 0 1 2 3] [1 2 3 4]
mark
mark
1
这里是初始化切片s的长度为5(当然容量也为5),其中int类型的零值当然是0啦,所以s是[0 0 0 0 0]
111111
mark
make(T[], len, cap) 创建切片,其中: ● T:切片的元素类型 ● len:切片的实际长度 ● cap:切片的最大容量 注意:当cap不传值的话,默认 len=cap。 举例:s := make(int[], 5)。此时 s 的值为 [0 0 0 0 0]
mark
mark
make(T[], len, cap) 创建切片,其中: ● T:切片的元素类型 ● len:切片的实际长度 ● cap:切片的最大容量 注意:当cap不传值的话,默认 len=cap。 举例:s := make(int[], 5)。此时 s 的值为 [0 0 0 0 0]
mark
如果已知了大小, 可以提前设置好 len = 0, capacity = 5
mark
mark
基础
mark
代码 1 输出:[0 0 0 0 0 1 2 3] 代码 2 输出:[1 2 3 4]