Go每日一题(4) 的题目如下

5150 次点击 · 9 赞 ·大约8小时之前 开始浏览   · 来源「Golang来啦」

下面两段代码输出什么。

// 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)
}
5150 阅读
41 回复
sunshuxing
sunshuxing · #1 · 3年之前

1) 0,0,0,0,0,1,2,3 2) 1,2,3,4

henry1
henry1 · #2 · 3年之前

学到了

luck_code
luck_code · #3 · 3年之前

1)[0 0 0 0 0 1 2 3] 2) [1 2 3 4]

sansuidulunyu
sansuidulunyu · #4 · 3年之前

今天做对了

blackmr
blackmr · #5 · 3年之前

这个问题 我被坑了一次,涨记性了

henry1
henry1 · #6 · 3年之前

ok

minQie
minQie · #7 · 3年之前

di

huhaophp
huhaophp · #8 · 3年之前

基础吧这是

gonglf
gonglf · #9 · 3年之前

面试的时候,我经常会问这种类似的基础题

Skysolderone
Skysolderone · #10 · 3年之前

我以为是12300呢

euibieur894
euibieur894 · #11 · 3年之前

打卡

NovaChaos
NovaChaos · #12 · 3年之前

mk

feiyang
feiyang · #13 · 3年之前

做对了,开心

hasbug
hasbug · #14 · 3年之前

mark

goguanli
goguanli · #15 · 3年之前

来点难度的呀

lwcbest
lwcbest · #16 · 3年之前

// 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]

a406299736
a406299736 · #17 · 3年之前

打卡。。。。。。。

AntonyZhang
AntonyZhang · #18 · 3年之前

1

oldyi
oldyi · #19 · 3年之前

mark

zzustu
zzustu · #20 · 3年之前

mark

NovaChaos
NovaChaos · #21 · 3年之前

mk

feiyang
feiyang · #22 · 3年之前
feiyangfeiyang #13 回复

做对了,开心

第二次打卡

brothersam
brothersam · #23 · 3年之前

[0 0 0 0 0 1 2 3] [1 2 3 4]

hasbug
hasbug · #24 · 3年之前

mark

a406299736
a406299736 · #25 · 3年之前

mark

wzbwzt
wzbwzt · #26 · 3年之前

1

Alilestera
Alilestera · #27 · 3年之前

s := make([]int, 5)

这里是初始化切片s的长度为5(当然容量也为5),其中int类型的零值当然是0啦,所以s是[0 0 0 0 0]

bsdx866
bsdx866 · #28 · 2年之前

image.png

a406299736
a406299736 · #29 · 2年之前

111111

hasbug
hasbug · #30 · 2年之前

mark

gangjianguo
gangjianguo · #31 · 2年之前

make(T[], len, cap) 创建切片,其中: ● T:切片的元素类型 ● len:切片的实际长度 ● cap:切片的最大容量 注意:当cap不传值的话,默认 len=cap。 举例:s := make(int[], 5)。此时 s 的值为 [0 0 0 0 0]

huangyf168
huangyf168 · #32 · 2年之前

mark

beenleqi
beenleqi · #33 · 2年之前

mark

feiyang
feiyang · #34 · 2年之前

make(T[], len, cap) 创建切片,其中: ● T:切片的元素类型 ● len:切片的实际长度 ● cap:切片的最大容量 注意:当cap不传值的话,默认 len=cap。 举例:s := make(int[], 5)。此时 s 的值为 [0 0 0 0 0]

YuPeng
YuPeng · #35 · 2年之前

mark

feiyang
feiyang · #36 · 2年之前

如果已知了大小, 可以提前设置好 len = 0, capacity = 5

func main() {
    s := make([]int, 0, 5)
    s = append(s, 1, 2, 3)
    fmt.Println(s)
}
hasbug
hasbug · #37 · 2年之前

mark

528548004
528548004 · #38 · 2年之前

mark

cllgeek
cllgeek · #39 · 大约1年之前

基础

BigBigGopher
BigBigGopher · #40 · 大约1年之前

mark

zhangwei_go
zhangwei_go · #41 · 大约1年之前

代码 1 输出:[0 0 0 0 0 1 2 3] 代码 2 输出:[1 2 3 4]

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传