为什么 i++ 写法不能运用在 go 中的 for 循环中?
在 golang 中使用 for 循环时,与其他语言不同,i++ 不能用于自增 i 的值。原因在于 for 循环语句具有特定的语法格式:
for
其中:
是循环开始时执行的初始化语句。 是循环持续执行的条件语句。 是每次循环迭代后执行的后执行语句。
在你的示例中,你使用 i++ 作为后执行语句。但根据 golang 的语法,后执行语句只能包含单个表达式,而 i++ 包含了两个语句(i 递增和 j 递减)。
要正确使用 for 循环中的自增,需要将 i++ 和 j-- 分为两个独立的语句,如下所所示:
for i, j := j, len(nums)-1; i < j; i, j = i+1, j-1 { nums[i], nums[j] = nums[j], nums[i] }
这样,i++ 和 j-- 就会作为独立语句执行,并且循环可以正常工作。
以上就是为什么 Go 语言的 for 循环中不能使用 i++ 写法?的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系 yyfuon@163.com