Go入门自学宝典009-流程控制语句(循环语句)
循环语句
009.2.1 for
var i, sum int
for i = 1; i <= 100; i++ {
sum += i
}
fmt.Println("sum = ", sum)
009.2.2 range
关键字 range 会返回两个值,第一个返回值是元素的数组下标,第二个返回值是元素的值:
s := “abc”
for i := range s { //支持 string/array/slice/map。
fmt.Printf("%c\n", s[i])
}
for _, c := range s { // 忽略 index
fmt.Printf("%c\n", c)
}
for i, c := range s {
fmt.Printf("%d, %c\n", i, c)
}
009.3 跳转语句
009.3.1 break和continue
在循环里面有两个关键操作break和continue,break操作是跳出当前循环,continue是跳过本次循环。
for i := 0; i < 5; i++ {
if 2 == i {
//break //break操作是跳出当前循环
continue //continue是跳过本次循环
}
fmt.Println(i)
}
注意:break可⽤于for、switch、select,⽽continue仅能⽤于for循环。
009.3.2 goto
用goto跳转到必须在当前函数内定义的标签:
func main() {
for i := 0; i < 5; i++ {
for {
fmt.Println(i)
goto LABEL //跳转到标签LABEL,从标签处,执行代码
}
}
fmt.Println("this is test")
LABEL:
fmt.Println(“it is over”)
}
练习:
1、用循环打出9种不同的三角型
2、输出:九九乘法表
3、输出100以内的偶数