golang语言for(循环结构)详解

发布于 1周前 作者 phonegap100 最后一次编辑是 5天前 来自 分享

golang语言for(循环结构)详解

Go 语言中的所有循环类型均可以使用for关键字来完成。

for循环的基本格式如下:

for 初始语句;条件表达式;结束语句{
    循环体语句
}

条件表达式返回true时循环体不停地进行循环,直到条件表达式返回false时自动退出循环。

for i := 0; i < 10; i++ {
		fmt.Println(i)
}

for循环的初始语句可以被忽略,但是初始语句后的分号必须要写,例如:

i := 0
for ; i < 10; i++ {
    fmt.Println(i)
}

for循环的初始语句和结束语句都可以省略,例如:

i := 0
for i < 10 {
    fmt.Println(i)
    i++
}

这种写法类似于其他编程语言中的while,在while后添加一个条件表达式,满足条件表达式时持续循环,否则结束循环。 注意:Go语言中是没有while语句的,我们可以通过for代替 for无限循环

for {
    循环体语句
}

for循环可以通过break、goto、return、panic语句强制退出循环。

k := 1
	for { // 这里也等价 for ; ; {
		if k <= 10 {
			fmt.Println("ok~~", k)
		} else {
			break //break就是跳出这个for循环
		}
		k++
	}

练习:打印0-50所有的偶数

	for i := 0; i < 50; i++ {
		if i%2 == 0 {
			fmt.Println(i)
		}
	}

练习:打印1~100之间所有是9的倍数的整数的个数及总和

count := 0
	sum := 0
	for i := 1; i < 100; i++ {
		if i%9 == 0 {
			sum += i
			count++
		}
	}
	fmt.Println("count=",count)
	fmt.Println("sum=",sum)
	

练习:求 1+2+3+4 +…100的和

	sum := 0
	for i := 0; i <= 100; i++ {
		sum += i
	}
	fmt.Println("sum=", sum)

练习:计算5的阶乘 (12345 n的阶乘12……n)

	var n = 5
	sum := 1
	for i := 1; i <= n; i++ {
		sum *= i
	}
	fmt.Println("sum=", sum)

练习: 打印一个矩形

	for i := 1; i <= 12; i++ {

		fmt.Print("*")
		if i%4 == 0 {
			fmt.Println()
		}
	}

嵌套循环解决这个问题

line := 4
	num := 8
	for i := 1; i <= line; i++ {
		for j := 0; j < num; j++ {
			fmt.Print("*")
		}
		fmt.Println()
	}

练习: 打印一个三角形

*
**
***
****
*****
   line := 5
	for i := 1; i <= line; i++ {
		for j := 0; j < i; j++ {
			fmt.Print("*")
		}
		fmt.Println()
	}

练习:打印出九九乘法表

1x1=1
2x1=2   2x2=4
3x1=3   3x2=6   3x3=9
4x1=4   4x2=8   4x3=12  4x4=16
5x1=5   5x2=10  5x3=15  5x4=20  5x5=25
6x1=6   6x2=12  6x3=18  6x4=24  6x5=30  6x6=36
7x1=7   7x2=14  7x3=21  7x4=28  7x5=35  7x6=42  7x7=49
8x1=8   8x2=16  8x3=24  8x4=32  8x5=40  8x6=48  8x7=56  8x8=64
9x1=9   9x2=18  9x3=27  9x4=36  9x5=45  9x6=54  9x7=63  9x8=72  9x9=81

for i := 1; i <= 9; i++ {
	for j := 1; j <= i; j++ {
		fmt.Printf("%vx%v=%v \t", i, j, i*j)
	}
	fmt.Println()
}

Golang+Gin框架入门实战教程-百度网盘下载地址

回到顶部