为什么在某些程序中两个语句之间有一个冒号

Why is there a colon in some Programs between 2 statements

我正在阅读 QB64 教程,看到以下用于打印 1 到 10 数字的程序结构 →

FOR x = 1 to 10: PRINT x: NEXT x

我从来没有见过这样的QB64程序。这些冒号 : 是什么意思?它们有什么不同吗?

QB64 IDE 中,您不需要像在其他语言中那样使用特殊字符来终止语句。这也意味着您 CANNOT 将语句扩展为多行。考虑以下 IF...THEN...ELSE... 代码块。

IF 
x = 1 
THEN
'Do something
...

这不会被解释,因为每个新行都会终止该语句。上面的代码将被解析为:

Statement 1: IF [Incomplete Statement]
Statement 2: x = 1 [assign value 1 to x]
Statement 3: THEN [No such statement]
...

这意味着您必须将单个语句限制在一行中。

然而,恰恰相反,你允许使用多个语句单线。在这种情况下,由于语句不能以新行结束,所以您 必须 以冒号 : 结束它们。在你的情况下,

FOR x = 1 to 10: PRINT x: NEXT x

这将被解析为:

Statement 1: FOR x = 1 to 10 [Initialize a value and set a condition for a FOR...NEXT loop]
Statement 2: PRINT x [Print the value]
Statement 3: NEXT x [Close the FOR...NEXT code block, and iterate the variable]

使用冒号或换行来终止没有显着区别,但就我个人而言,我建议使用换行,因为它们使代码看起来更清晰,更易于阅读。然而,有时当有多个简短且不太重要的语句接连出现时,您可以将它们组合在一行中,并使用冒号使您的代码看起来更短、更简洁。