Go语言for循环
for语句
循环语句是表示条件满足。可以反复的执行某段代码。
for是唯一的循环,Go中没有while。
for循环的基本用法
语法结构:
for init;condition;post{ }
初始化语句只执行一次。在初始化循环之后,将检查该条件。如果条件计算为true,那么中的循环体将被执行,然后是post语句。post语句将在循环的每次成功迭代之后执行。在执行post语句之后,该条件将被重新检查。如果它是正确的,循环将继续执行,否则循环终止。
for循环的其他写法
for循环的所有的三个组成部分,都是可选的,即初始化、条件和post都是可选的。
(1)同时省略表达式1和表达式3,相当于while循环
for 表达式2{
}
(2)for循环的range格式可以对slice、map、数组、字符串进行迭代循环。
for key,value := range oldMap{
newMap[key] = value
}
(3)同时省略三个表达式,相当于while(true),相当于直接作用在true上。
for {
}
for循环练习
练习题一:打印18-23等数字
package main
import "fmt"
func main() {
for i := 58; i >= 23 ; i-- {
fmt.Println(i)
}
}
练习题二:求1-100的和
package main
import "fmt"
func main() {
sum := 0
for i := 0; i <= 100 ; i++ {
sum += i;
}
fmt.Println(sum)
}
练习题三:打印1-100内,能够被3整除,但是不能被5整除的数字,统计被打印数字的个数,每行打印五个。
package main
import "fmt"
func main() {
count := 0
for i := 1; i <= 100; i++ {
if i % 3 == 0 && i % 5 != 0 {
count ++
fmt.Print(i,"\t")
if count % 5 == 0 {
fmt.Println()
}
}
}
fmt.Println()
fmt.Println("需要打印的个数有",count,"个")
}
多层循环嵌套
练习题一:打印*,每行五个,一共五行。
package main
import "fmt"
func main() {
for i := 0; i < 5; i++ {
for j := 0; j < 5; j++ {
fmt.Printf("*")
}
fmt.Println()
}
}
练习题二:打印九九乘法表
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()
}
}