GO语言中的控制流通常包括了顺序结构,条件语句和循环语句。
顺序结构
顺序结构是一种基本的程序执行结构,也是默认的程序执行方式。当程序执行到一个语句时,就会按照代码的顺序依次执行下去。例如:
package main
import "fmt"
func main() {
fmt.Println("Hello ")
fmt.Println("World!")
}
这个程序输出的是:
Hello
World!
也就是按照代码的编写顺序,先输出"Hello"再输出"World!"。
条件语句
条件语句用于在程序执行时根据条件来选择不同的代码执行路径。GO语言中有 if 语句,if-else 语句和 switch 语句。
if 语句
if 语句用于判断一个条件是否为真,如果为真,就执行指定的代码块。例如:
package main
import "fmt"
func main() {
num := 10
if num%2 == 0 {
fmt.Println("num is even")
}
}
if-else 语句
if-else 语句用于在 if 语句的条件不满足时执行另外一段代码。例如:
package main
import "fmt"
func main() {
num := 11
if num%2 == 0 {
fmt.Println("num is even")
} else {
fmt.Println("num is odd")
}
}
switch 语句
switch 语句用于根据不同的条件值执行不同的代码块。例如:
package main
import "fmt"
func main() {
day := "Monday"
switch day {
case "Monday":
fmt.Println("Today is Monday")
case "Tuesday":
fmt.Println("Today is Tuesday")
case "Wednesday":
fmt.Println("Today is Wednesday")
case "Thursday":
fmt.Println("Today is Thursday")
case "Friday":
fmt.Println("Today is Friday")
case "Saturday":
fmt.Println("Today is Saturday")
case "Sunday":
fmt.Println("Today is Sunday")
default:
fmt.Println("Invalid day")
}
}
循环语句
循环语句用于重复执行一个或多个语句。GO语言中有 for 循环和 range 循环。
for 循环
for 循环用于重复执行一个语句块,直到指定的条件不再成立。例如:
package main
import "fmt"
func main() {
for i := 0; i < 5; i++ {
fmt.Println(i)
}
}
range 循环
range 循环用于遍历数组、切片、字符串等类型的数据结构。例如:
package main
import "fmt"
func main() {
nums := []int{1, 2, 3, 4, 5}
for index, value := range nums {
fmt.Printf("Index: %d, Value: %d\n", index, value)
}
}
这个程序输出的是:
Index: 0, Value: 1
Index: 1, Value: 2
Index: 2, Value: 3
Index: 3, Value: 4
Index: 4, Value: 5