本文共 860 字,大约阅读时间需要 2 分钟。
点击上方蓝色“Golang来啦”关注我哟
加个“星标”,天天 15 分钟,一起学 Go
1.下面这段代码输出什么?
1func main() {2 var k = 13 var s = []int{1, 2}4 k, s[k] = 0, 35 fmt.Println(s[0] + s[1])6}
参考答案及解析:4。知识点:多重赋值。
多重赋值分为两个步骤,有先后顺序:
计算等号左边的索引表达式和取址表达式,接着计算等号右边的表达式;
赋值;
所以本例,会先计算 s[k],等号右边是两个表达式是常量,所以赋值运算等同于 k, s[1] = 0, 3
。
2.下面代码输出什么?
1func main() { 2 var k = 9 3 for k = range []int{} {} 4 fmt.Println(k) 5 6 for k = 0; k < 3; k++ { 7 } 8 fmt.Println(k) 91011 for k = range (*[3]int)(nil) {12 }13 fmt.Println(k)14}
参考答案及解析:932。
解析若有不妥之处,欢迎在留言区交流、指正!
看下今天的题目:
1func main() {2 nil := 1233 fmt.Println(nil)4 var _ map[string]int = nil5}
2.下面代码输出什么?
1func main() {2 var x int8 = -1283 var y = x/-14 fmt.Println(y)5}
答案以及解析会在下一篇文章中给出,鼓励大家在留言区留下答案,抱团学习,日拱一卒,每天进步一点!
ps:看完文章如果有收获,顺手花 1s 时间帮点下文末右下方的「在看」,感激!
所有学习上的成功,都只依靠两件事 -- 策略和坚持,而坚持本身就是最重要的策略!
推荐阅读:
转载地址:http://gwfnb.baihongyu.com/