Golang的循环结构-for语句
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.for循环语法
循环结构在生活中的场景也非常的多,比如:
()上班族们每天朝九晚五的生活;
()一年四季周而复始的循环;
()奥运会上运动员围绕操场跑圈的场景;
()时钟的秒针,分针,时针规律的转动;
()各个国家每年特定的日子有特殊的节日,以中国为例,就有:元旦节,春节,清明节,劳动节,端午节,国庆节等
...... Go语言中最常用的for循环语法结构如下:
for 表达式1;表达式2;表达式3 {
//循环体
}
Go语法结构说明:
表达式1:
定义一个循环的变量,记录循环的次数。
表达式2:
一般为循环条件,循环多少次。
表达式3:
一般为改变循环条件的代码,使循环条件终有不再成立。
循环体:
重复要做的事情。 循环语句之间可以相互嵌套,嵌套循环语法如下:
for 循环条件{
for 循环条件{
//代码块
}
} 循环控制语句:
break:
当它出现在循环语句中,作用是跳出当前内循环语句,执行后面的代码。
当它出现在嵌套循环语句中,跳出最近的内循环语句,执行后面的代码。
continue:
在循环语句中,如果希望立即终止本次循环,并执行下一次循环,换句话说,就是跳过本次循环执行下一次循环。
goto:
goto语句也称为无条件转移语句,本篇博客暂时不涉及,在后续的笔记会有相应的使用案例。
二.for循环使用案例
1>.打印1-100之间数字之和
package main import (
"fmt"
) func main() { //计算1-100之间的和
var sum int for i := ; i <= ; i++ {
sum += i
} fmt.Printf("[1-100]之间数字之和为:%d", sum)
}
2>.打印1-100之间的奇数
package main import (
"fmt"
) func main() { //计算1-100之间的奇数之和
var sum int for i := ; i <= ; i += {
sum += i
} fmt.Printf("[1-100]之间数字之和为:%d", sum) }
3>.打印1000以内的水仙花数(循环条件+流程控制)
package main import (
"fmt"
"math"
) func main() { /*
什么是水仙花数:
一个三位数,各个位数的立方和等于本身的数统称为水仙花数字 关于math包的用法,博主推荐阅读:
https://www.cnblogs.com/yinzhengjie/p/12203765.html
*/ fmt.Printf("1000以内的水仙花数有: ")
//计算1000以内的水仙花数
for i := ; i <= ; i++ {
//计算个位的三次方
one := int(math.Pow(float64(i%), )) //计算十位的三次方
ten := int(math.Pow(float64(i/%), )) //计算百位的三次方
hundred := int(math.Pow(float64(i/), )) if one+ten+hundred == i {
fmt.Printf("%d ", i)
}
}
fmt.Println() }
4>.打印九九乘法表(循环嵌套案例)
package main import (
"fmt"
) func main() { //外层循环,控制循环次数
for i := ; i <= ; i++ {
//内层循环,控制每次外层循环,内层循环执行的次数
for j := ; j <= i; j++ {
fmt.Printf("%d x %d = %d\t", j, i, i*j)
}
fmt.Println()
}
}
5>.使用死循环方式打印1-10(break应用案例)
package main import "fmt" func main() { var index int //使用for的死循环语法
for {
index++
fmt.Printf("%d\t", index) //打印数字1-10
if index == {
break
}
}
fmt.Println()
}
6>.嵌套循环语句中break的作用范围
package main import (
"fmt"
) func main() {
for i := ; i <= ; i++ {
for j := ; j < ; j++ {
if j == {
break
}
fmt.Printf("i = %d, j = %d\n", i, j)
}
}
}
7>.打印1-100之间的偶数(continue案例)
package main import "fmt" func main() { var (
sum int
) for i := ; i <= ; i++ {
if i% != {
continue
}
sum += i
} fmt.Printf("1-100之间的偶数之和为:%d\n", sum)
}