Go语言提供了多种流程控制语句来控制程序的执行流程。主要有以下几种:
if 语句:用于执行条件语句。
for 循环:提供了三种不同形式的 for 循环:数字循环、条件循环、和无限循环。
switch 语句:用于执行一系列相关的语句,其中每个语句是与一个特定的值相关联的。
goto 语句:用于跳转到指定的语句。
break 和 continue 语句:用于跳出或继续当前的循环。
defer 语句:用于延迟函数的执行直到当前函数结束。
这些流程控制语句都具有独特的语法和用途,具体请参考Go语言官方文档。
接下来我们详细介绍每种语句并加上代码示例
1.if 语句:用于执行条件语句。
如果指定的条件为真,则执行相关语句,否则跳过相关语句。可以使用一个 else 子句,以便在条件为假时执行相关语句。
package main
import "fmt"
func main() {
x := 10
if x > 5 {
fmt.Println("x is greater than 5")
} else {
fmt.Println("x is less than or equal to 5")
}
}
2.for 循环:提供了三种不同形式的 for 循环:数字循环、条件循环、和无限循环。
数字循环:用于在给定的范围内循环指定次数。
package main
import "fmt"
func main() {
for i := 0; i < 5; i++ {
fmt.Println("Index:", i)
}
}
条件循环:当指定条件为真时,循环相关语句。
package main
import "fmt"
func main() {
i := 0
for i < 5 {
fmt.Println("Index:", i)
i++
}
}
无限循环:循环相关语句直到被强制退出。
package main
import "fmt"
func main() {
i := 0
for {
fmt.Println("Index:", i)
i++
if i == 5 {
break
}
}
}
3.switch 语句:用于执行一系列相关的语句,其中每个语句是与一个特定的值相关联的。
package main
import "fmt"
func main() {
x := 2
switch x {
case 1:
fmt.Println("x is 1")
case 2:
fmt.Println("x is 2")
default:
fmt.Print("x is not 1 or 2")
}
}
4. break语句:用于强制退出当前循环或 switch 语句。
package main
import "fmt"
func main() {
for i := 0; i < 5; i++ {
if i == 3 {
break
}
fmt.Println("Index:", i)
}
}
5.continue 语句:用于跳过当前循环的其余部分,并立即开始下一次循环。
package main
import "fmt"
func main() {
for i := 0; i < 5; i++ {
if i == 3 {
continue
}
fmt.Println("Index:", i)
}
}
6.goto语句:用于无条件跳转到被标记的语句。
package main
import "fmt"
func main() {
i := 0
Here:
fmt.Println("Index:", i)
i++
if i < 5 {
goto Here
}
}
7.defer 语句:在函数结束前执行,可用于释放资源、关闭文件等操作。
package main
import "fmt"
func main() {
defer fmt.Println("Defer 1")
defer fmt.Println("Defer 2")
defer fmt.Println("Defer 3")
fmt.Println("Main function")
}
注意:如果一个函数有多个 defer 语句,它们将按照倒序执行,即最后被定义的 defer 语句将首先被执行。
以上是 Go 中的流程控制语句的介绍。请注意,在每种情况中使用正确的语句是非常重要的,因为它可以使代码更加有效且易于维护。