「Golang」遇到的有趣的Go赋值问题并附带以下不负责任的解析
今天在做一道题的时候发现了这么一个有趣的题目:
func main() {
index := 1
a := []string{"f", "ff", "fff"}
index, a[index-1] = 88888, "ffff"
fmt.Println(a)
}
这个输出是什么呢?我第一眼看的时候感觉会输出panic,因为下标超界,但是运行之后发现没这么简单,运行结果如下
运行之后我惊了,不知道为什么会这样,然后我就输出了汇编看了一下(去掉了一些多余的汇编代码,我们只看赋值那行的汇编):
//把
原创
2020-12-22 18:24:13 ·
275 阅读 ·
0 评论