Go 語言的控制結構是一個重要的概念,它可以讓開發者更有效率地撰寫程式碼,並且更容易地控制程式的流程。在本文中,我們將詳細介紹 Go 語言中的控制結構,包括 if-else、for 迴圈、switch-case、defer 等等。

If-Else 條件判斷

If-Else 條件判斷是 Go 語言中最基本的控制結構,它可以讓開發者根據條件來決定程式的流程。例如,以下程式碼會根據變數 x 的值來判斷是否輸出 “x is greater than 10″:

if x > 10 {
    fmt.Println("x is greater than 10")
}

如果要判斷多個條件,可以使用 else if:

if x > 10 {
    fmt.Println("x is greater than 10")
} else if x < 10 {
    fmt.Println("x is less than 10")
}

如果沒有任何條件符合,可以使用 else 來指定一個預設的流程:

if x > 10 {
    fmt.Println("x is greater than 10")
} else if x < 10 {
    fmt.Println("x is less than 10")
} else {
    fmt.Println("x is equal to 10")
}

For 迴圈

For 迴圈是 Go 語言中最常用的控制結構,它可以讓開發者重複執行一段程式碼,直到條件不再成立為止。例如,以下程式碼會重複執行 10 次:

for i := 0; i < 10; i++ {
    fmt.Println(i)
}

如果要重複執行一個無限次數的迴圈,可以使用無限迴圈:

for {
    fmt.Println("Infinite loop")
}

Switch-Case

Switch-Case 是 Go 語言中另一個常用的控制結構,它可以讓開發者根據不同的條件來執行不同的程式碼。例如,以下程式碼會根據變數 x 的值來執行不同的程式碼:

switch x {
case 1:
    fmt.Println("x is 1")
case 2:
    fmt.Println("x is 2")
default:
    fmt.Println("x is not 1 or 2")
}

Defer

Defer 是 Go 語言中一個特殊的控制結構,它可以讓開發者延遲執行一段程式碼,直到函式執行完畢為止。例如,以下程式碼會在函式執行完畢後才會執行 fmt.Println():

func foo() {
    defer fmt.Println("Done")
    // Do something
}

這個特性可以讓開發者更容易地撰寫程式碼,並且可以確保在函式執行完畢後會執行一些必要的程式碼,例如關閉檔案、釋放資源等等。

總結

本文介紹了 Go 語言中的控制結構,包括 if-else、for 迴圈、switch-case、defer 等等。這些控制結構可以讓開發者更有效率地撰寫程式碼,並且更容易地控制程式的流程。

Categorized in:

Tagged in:

,