2022-10-10:以下 go 语言代码输出什么?A:[1 2 3 0 1 2];B:死循环;C:[1 2 3 1 2 3];D:[1 2 3]。 package main import “fmt“
2022-10-10:以下 go 语言代码输出什么?A:[1 2 3 0 1 2];B:死循环;C:[1 2 3 1 2 3];D:[1 2 3]。
复制代码
答案选 A。在遍历之前就获取的切片的长度 len_temp := len(v)遍历的次数不会随着切片的变化而变化,代码自然不会是死循环了。另外,i 是序号,不是值,在 go 语言里,for range 第一个值一定是序号。这跟其他语言不一样,其他语言有可能是值,容易搞混淆。
等价于如下代码:
复制代码
版权声明: 本文为 InfoQ 作者【福大大架构师每日一题】的原创文章。
原文链接:【http://xie.infoq.cn/article/ed81ce391172435f4be0df908】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论