Golang的循环结构-for语句
Golang的循环结构-for语句
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.for循环语法
循环结构在生活中的场景也非常的多,比如: (1)上班族们每天朝九晚五的生活; (2)一年四季周而复始的循环; (3)奥运会上运动员围绕操场跑圈的场景; (4)时钟的秒针,分针,时针规律的转动; (5)各个国家每年特定的日子有特殊的节日,以中国为例,就有:元旦节,春节,清明节,劳动节,端午节,国庆节等 ...... 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 := 1; i <= 100; 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 := 1; i <= 100; i += 2 { 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 := 100; i <= 999; i++ { //计算个位的三次方 one := int(math.Pow(float64(i%10), 3)) //计算十位的三次方 ten := int(math.Pow(float64(i/10%10), 3)) //计算百位的三次方 hundred := int(math.Pow(float64(i/100), 3)) if one+ten+hundred == i { fmt.Printf("%d ", i) } } fmt.Println() }
4>.打印九九乘法表(循环嵌套案例)
package main import ( "fmt" ) func main() { //外层循环,控制循环次数 for i := 1; i <= 9; i++ { //内层循环,控制每次外层循环,内层循环执行的次数 for j := 1; 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 == 10 { break } } fmt.Println() }
6>.嵌套循环语句中break的作用范围
package main import ( "fmt" ) func main() { for i := 1; i <= 6; i++ { for j := 0; j < 10; j++ { if j == 3 { 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 := 0; i <= 100; i++ { if i%2 != 0 { continue } sum += i } fmt.Printf("1-100之间的偶数之和为:%d\n", sum) }
当你的才华还撑不起你的野心的时候,你就应该静下心来学习。当你的能力还驾驭不了你的目标的时候,你就应该沉下心来历练。问问自己,想要怎样的人生。 欢迎加入基础架构自动化运维:598432640,大数据SRE进阶之路:959042252,DevOps进阶之路:526991186