
为什么 i++ 写法不能运用在 go 中的 for 循环中?
在 golang 中使用 for 循环时,与其他语言不同,i++ 不能用于自增 i 的值。原因在于 for 循环语句具有特定的语法格式:
for
其中:
Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Linux系统
是循环开始时执行的初始化语句。 是循环持续执行的条件语句。 是每次循环迭代后执行的后执行语句。
在你的示例中,你使用 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-- 就会作为独立语句执行,并且循环可以正常工作。









