网站首页 > 技术教程 正文
每次学习并整理一个Golang的知识点,每天进步一点点。今天来学习下make的一个知识点。
代码片段
看如下这段代码,并猜测输出结果:
package main
import "fmt"
func makeList() []int {
s := make([]int, 5)
s = append(s, 1, 2, 3)
return s
}
func makeList2() []int {
s := make([]int, 0)
s = append(s, 1, 2, 3)
return s
}
func main() {
s := makeList()
s2 := makeList2()
fmt.Println("打印s:", s)
fmt.Println("打印s2:", s2)
}
思考后看答案
答疑解惑
代码执行结果如下:
打印s: [0 0 0 0 0 1 2 3]
打印s2: [1 2 3]
你做对了吗?
这道题考察的是slice的make和append方法;Go语言提供的内置函数make()可以用于灵活的创建数组切片,s := make([]int, 5) 创建了一个初始元素个数为5的数组切片,且元素初始值为0;append()函数可以向slice的尾端继续新增元素,从而形成一个新的数组切片;而s := make([]int, 0)创建了一个初始元素个数为零个的数组切片,即当前存储的元素个数为零,使用append追加元素,所加即所得,不存在初始值为0的元素,所以得到[1 2 3]。
下期提问
观察如下代码片段,判断能否编译通过;如果可以,写出输出结果?
package main
import "fmt"
var (
num := 60
doubleNum = num * 2
)
func main() {
fmt.Println(num, doubleNum)
}
答案及解析将在下期文章中给出,欢迎大家在评论区留言,独乐乐不如众乐乐,交流学习,互相进步。
欢迎转发和评论。更多优质原创文章,欢迎关注微信公众号“IYue爱月”。
猜你喜欢
- 2024-10-24 make是“做”,bed是“床”,那么make bed是什么意思?
- 2024-10-24 ‘make a girlfriend’可不是‘交女朋友’,理解错太尴尬了!
- 2024-10-24 记住:Make good千万不要翻译为“制造美好的事情”
- 2024-10-24 Linux之make的用法讲解 linux make怎么用
- 2024-10-24 从do和make的区别说起 make与do区别
- 2024-10-24 C语言中的make是个啥?为何php安装扩展时要用它?
- 2024-10-24 英文的“做”和“make”有什么区别?
- 2024-10-24 使役动词make用法 使役动词make用法归纳
- 2024-10-24 “make”和“do”的用法区别 make和do的用法区别是什么
- 2024-10-24 每日一个Linux命令解析——make linux make -j4
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)