文章目录
- 一、分支结构
- (一)单分支结构
- (二)分支嵌套
- (三)switch 分支控制
- 二、Golang 的循环控制
- (一)for 循环的第一种写法
- (二)for 循环的第二种写法
- (三)for 循环的第三种写法
- (四)遍历字符串举例
一、分支结构
(一)单分支结构
func main() {// 双分支结构var a intif a > 10 {fmt.Println("a")} else { // else 不能换行fmt.Println("b")}
}
(二)分支嵌套
func main() {// 分支嵌套结构var a intvar b intif a > 0 {if b < 0 {fmt.Println("b")} else if b == 0 {fmt.Println("a")}} else if a < 0 {fmt.Println("a")} else {fmt.Println("b")}
}
(三)switch 分支控制
func main() {var a intvar b intswitch a + b { // switch 后面接表达式case a: // 与 case 后面的值进行匹配,匹配成功后执行语句块,执行完语句块后自动跳出fmt.Println("a")case b:fmt.Println("b")case a, b: // 可以进行多个值匹配fmt.Println("a")default: // 如果 case 后面的值都不满足表达式,则执行 default 后面的值fmt.Println("b")}
}
- switch 后面可以是常量、变量、有返回值的函数、表达式,只要是值就可以了。
- switch 后面值的数据类型需要和 case 后面值的数据类型要保持一致。
- case 后面可以是一个常量、变量、或者有值的表达式。
二、Golang 的循环控制
func main() {// for 循环控制的基本语法for i := 10; i > 0; i-- {println(i)}
}
(一)for 循环的第一种写法
func main() {// for 循环控制的基本语法for 循环变量初始化; 循环条件判断; 循环变量迭代 {循环体}
}
执行步骤:
- 执行循环变量初始化;
- 执行循环条件判断;
- 条件为真再进行循环变量迭代。
(二)for 循环的第二种写法
func main() {// for 循环控制的第二种写法var i int = 10 // 循环变量for i < 20 { // 循环条件// 循环体println(i)// 循环迭代控制i--}
}
(三)for 循环的第三种写法
func main() {// for 循环控制的第三种写法(需要配合 break 使用)i := 10 // 循环变量for {if i < 10 { // 循环条件println(i) // 循环体} else {i-- // 循环迭代控制}}
}
(四)遍历字符串举例
func main() {// for 循环遍历字符串pre_s := "hello world 我们"// 存在中文字符,由于 for 循环默认遍历按照字节进行遍历,中文占用 3 个字节,直接打印有乱码,需要将字符串转化为切片类型s := []rune(pre_s)for i := 0; i < len(s); i++ {fmt.Printf("index:%d,value:%c\n", i, s[i])}
}
func main() {s1 := "hello 我们"// 使用 for range 时候按照字符进行取值for index, value := range s1 {fmt.Printf("index: %d, value: %c\n", index, value)}
}
continue
:结束本次循环。break
:跳出当前层的整个循环。