007.Go语言循环语句

计算 1 到 10 的数字之和

package main

import (
	"fmt"
)

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

sum 小于 10 的时候计算 sum 自相加后的值

package main

import "fmt"

func main() {
	//sum 小于 10 的时候计算 sum 自相加后的值
	sum := 1
	for sum <= 10 {
		sum += sum
	}
	fmt.Println(sum)

	// 这样写也可以,更像 While 语句形式
	for sum <= 10 {
		sum += sum
	}
	fmt.Println(sum)
}

循环字符串

方式1

package main

import (
	"fmt"
)

func main() {
	var message = "hello world"
	for i, s := range message {
		fmt.Println(i, s)
	}

	fmt.Println('--------')

	for i := 0; i < len(message); i++ {
		fmt.Println(i, string(message[i]))
	}
}

// 0 104
// 1 101
// 2 108
// 3 108
// 4 111
// 5 32
// 6 119
// 7 111
// 8 114
// 9 108
// 10 100
//--------
// 0 h
// 1 e
// 2 l
// 3 l
// 4 o
// 5
// 6 w
// 7 o
// 8 r
// 9 l
// 10 d

遍历数组

package main

import "fmt"

func main() {
	strings := []string{"google", "runoob"}
	for i, s := range strings {
		fmt.Println(i, s)
	}

	numbers := [6]int{1, 2, 3, 5}
	for i, x := range numbers {
		fmt.Printf("第 %d 位 x 的值 = %d\n", i, x)
	}
}

// 0 google
// 1 runoob
// 第 0 位 x 的值 = 1
// 第 1 位 x 的值 = 2
// 第 2 位 x 的值 = 3
// 第 3 位 x 的值 = 5
// 第 4 位 x 的值 = 0
// 第 5 位 x 的值 = 0

break语句

package main

import "fmt"

func main() {
	sum := 0
	for {
		sum++
		if sum > 100 {
			break
		}
	}
	fmt.Println(sum) //101
}

无限循环

package main

import "fmt"

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

输出九九乘法表

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