兴国资源网 Design By www.nnzcdc.com
对于golang, 交换两个数很简单,如下这么写就可以了:
i, j = j, i
等号左边和右边含有多个表达式,这就是平行赋值。 赋值分为两个步骤:
- 计算等号左边的操作数的索引表达式和取址表达式,计算等号右边的表达式。
- 赋值
我们来看下面一段代码会输出什么?
func main() { i := 1 s := []string{"A", "B", "C"} i, s[i-1] = 2, "Z" fmt.Printf("s: %v \n", s) }
这里输出的 s: [Z,B,C] 而不是s: [A,Z,C]。 这是因为等号左边的切片的索引表达式i-1会被先计算,最后才是赋值。 计算和赋值的顺序,都是从左往右。 我们再来看下面的代码会输出什么?
func main() { a := []int{1, 2, 3, 4} defer func(a []int) { fmt.Printf("a: %v\n", a) }(a) a[0], a[4] = a[1], a[2] }
输出的是:
a: [2 2 3 4] panic: runtime error: index out of range goroutine 1 [running]:
在赋值的过程中,即使后面的引发了panic,前面的也会被赋值成功。 再看这个会输出什么?
func main() { a := []int{1, 2, 3, 4} defer func(a []int) { fmt.Printf("a: %v\n", a) }(a) a[0], a[1] = a[2], a[4] }
输出的是:
a: [1 2 3 4] panic: runtime error: index out of range goroutine 1 [running]: main.main()
再次理解一下,赋值的第一步,计算等号左边的索引表达式,取址表达式 和 计算等号右边的表达式。
理解参照了《Go并发编程一书》
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
兴国资源网 Design By www.nnzcdc.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
兴国资源网 Design By www.nnzcdc.com
暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
2024年05月02日
2024年05月02日
- 群星《影视剧 群星闪耀时 影视原声带》[320K/MP3][38.69MB]
- 姜育恒.1998-成名金曲(马来西亚瑞华金碟珍藏版)【瑞华】【WAV+CUE】
- 水木年华.2006-生命狂想曲特别版2CD【水木同创】【WAV+CUE】
- 卢庚戌.2000-未来的未来【喜洋洋】【WAV+CUE】
- 钟汉良.1997-亲热【艺能动音】【WAV+CUE】
- 满文军.2002-我需要你【新索音乐】【WAV+CUE】
- 毛阿敏.2000-毛阿敏·精选集【中唱】【WAV+CUE】
- 钟明秋《爱有天意HQ》头版限量[低速原抓WAV+CUE]
- 云飞《云在飞HQ》头版限量编号[低速原抓WAV+CUE]
- 戏班-就是这个调调【FLAC分轨】
- 黄品源《寂寞旋律》[WAV+CUE][367M]
- 群星《家传户晓~我们三十年的主题曲XRCD》[WAV分轨][532M]
- 谢军《那一夜+又一夜》2CD[WAV分轨][1.2G]
- 苏有朋.1992-我只要你爱我【飞碟】【WAV+CUE】
- 谢金燕.2010-爱你辣【乾坤唱片】【WAV+CUE】