(3-2)流程控制语句:循环语句

本文介绍了Go语言中for循环的基本结构,包括三种常见用法,并通过实例演示了如何计算1到100的整数和以及打印九九乘法表。特别提到了Go语言不支持while和do…while循环,以及循环嵌套的使用方法和注意事项。
摘要由CSDN通过智能技术生成

3.2  循环语句

有的时候,我们可能需要多次执行同一块程序代码。在Go程序中,通过使用循环语句可以多次执行指定的程序。在本节的内容中,将详细讲解Go  语言循环语句的知识。

3.2.1  使用for循环语句

与其他大多数编程语言不同的是,Go语言中的循环语句只支持 for 关键字,而不支持 while 和 do…while 结构,关键字 for 的基本使用方法与C语言和 C++ 中非常接近。在R程序中,for循环语句是一种重复控制结构,可以让开发者有效地编写一个需要执行特定次数的循环。

在R程序中,有如下三种使用for语句的语法格式:

(1)第1种:和C语言的for循环一样,具体格式如下:

for init;condition;
post { }

(2)第2种:和C语言的while循环一样,具体格式如下:

for condition { }

(3)和 C语言的的 for(;;) 一样,具体格式如下:

for { }

对上述格式的具体说明如下:

  1. init:一般为赋值表达式,给控制变量赋初值;
  2. condition:关系表达式或逻辑表达式,循环控制条件;
  3. post:一般为赋值表达式,给控制变量增量或减量。

先判断赋值表达式 init 是否满足给定条件,若其值为真,满足循环条件,则执行循环体内语句,然后执行 post,进入第二次循环,再判断condition;否则判断 condition 的值为假,不满足条件,就终止for循环,执行循环体外语句。

实例3-6:计算1到100的整数和(源码路径:Go-codes\3\sum.go)

例文件sum.go的具体实现代码如下所示。

package main
import "fmt"
func main() {
	sum := 0
	for i := 0; i <= 100; i++ {	
		sum += i
	}
	fmt.Println(sum)
}

在上述代码中,循环条件是i <= 100,只要满足这个条件,就执行for循环体中的代码“sum += i”。执行后会输出:

5050

注意:如果循环中条件语句永远不为 false 则会进行无限循环,我们可以通过 for 循环语句中只设置一个条件表达式来执行无限循环,例如:

package main
import "fmt"
func main() {
    for true  {
        fmt.Printf("这是无限循环。\n");
    }
}

3.2.2  使用for循环嵌套语句

在Go程序中可以使用for循环嵌套语句,也就是允许在一个for循环语句中使用另外一个for循环语句。具体语法格式如下:

package main
import "fmt"
func main() {
	// 遍历, 决定处理第几行
	for y := 1; y <= 9; y++ {

		// 遍历, 决定这一行有多少列
		for x := 1; x <= y; x++ {
			fmt.Printf("%d*%d=%d ", x, y, x*y)
		}
		// 手动生成回车
		fmt.Println()
	}
}

实例3-7:打印输出九九乘法表(源码路径:Go-codes\3\cheng.go)

例文件cheng.go的具体实现代码如下所示。

package main
import "fmt"
func main() {
	// 遍历, 决定处理第几行
	for y := 1; y <= 9; y++ {

		// 遍历, 决定这一行有多少列
		for x := 1; x <= y; x++ {
			fmt.Printf("%d*%d=%d ", x, y, x*y)
		}
		// 手动生成回车
		fmt.Println()
	}
}

执行后会输出:

1*1=1 
1*2=2 2*2=4 
1*3=3 2*3=6 3*3=9 
1*4=4 2*4=8 3*4=12 4*4=16 
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

未完待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农三叔

感谢鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值