Golang 流程控制语句

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 中的流程控制语句的介绍。请注意,在每种情况中使用正确的语句是非常重要的,因为它可以使代码更加有效且易于维护。