• 本页内容

75. continue 语句


continue 语句跳过循环体的其余部分,导致循环的下一个循环立即开始。

注意:只有在循环中使用 条件 时,continue 语句才有意义。

以下 awk 程序打印 items-sold.txt 文件中每件商品的销售总数。 该程序的输出与 while.awkdowhile.awkfor.awk 程序完全相同,但它使用带有 continuewhile 循环,而不是从 2 开始循环。

$ cat continue.awk
{
    i=1;
    total=0;
    while (i++ <= NF) {
        if (i == 1) continue;
        total = total + $i;
    }
    print "Item", $1, ":", total, "quantities sold";
}

$ awk -f continue.awk items-sold.txt
Item 101 : 47 quantities sold
Item 102 : 10 quantities sold
Item 103 : 65 quantities sold
Item 104 : 20 quantities sold
Item 105 : 42 quantities sold

以下 awk 脚本在每次迭代时打印 x 的值(第 5 次除外),其中 continue 语句会跳过打印。

$ awk 'BEGIN{
x=1;
while(x<=10)
{
if(x==5){
x++;
continue;
}
print "Value of x",x;x++;
}
}'

上述命令产生以下输出。

Value of x 1
Value of x 2
Value of x 3
Value of x 4
Value of x 6
Value of x 7
Value of x 8
Value of x 9
Value of x 10