go 語言提供了豐富的流程控制語句,用于控制程序流程流向,包括:條件語句(if、switch);循環(huán)語句(for、while);實(shí)戰(zhàn)案例:計(jì)算階乘使用 if 和 for 語句;其他流程控制語句(break、continue、goto、defer)。
深入理解 Go 語言流程控制語句
流程控制語句是編程中用于控制程序流程流向的基本工具。Go 語言提供了豐富的流程控制語句,包括:
條件語句
if
語句:用于根據(jù)條件執(zhí)行代碼塊。
if condition { // 條件為 true 時(shí)執(zhí)行的代碼 } else { // 條件為 false 時(shí)執(zhí)行的代碼 }
登錄后復(fù)制
switch
語句:用于根據(jù)多個(gè)條件中的一個(gè)執(zhí)行代碼塊。
switch variable { case value1: // variable 為 value1 時(shí)執(zhí)行的代碼 case value2: // variable 為 value2 時(shí)執(zhí)行的代碼 default: // 其他情況執(zhí)行的代碼 }
登錄后復(fù)制
循環(huán)語句
for
循環(huán):用于重復(fù)執(zhí)行代碼塊。
for condition { // 條件為 true 時(shí)執(zhí)行的代碼 } for i := 0; i < 10; i++ { // i 從 0 到 9 執(zhí)行 10 次循環(huán) }
登錄后復(fù)制
while
循環(huán):用于只要條件為 true 就執(zhí)行代碼塊。
while condition { // 條件為 true 時(shí)執(zhí)行的代碼 }
登錄后復(fù)制
實(shí)戰(zhàn)案例:計(jì)算階乘
以下是一個(gè)計(jì)算階乘的 Go 語言程序:
package main import "fmt" func main() { var n int fmt.Print("請(qǐng)輸入一個(gè)非負(fù)整數(shù):") fmt.Scan(&n) if n < 0 { fmt.Println("輸入無效,必須是非負(fù)整數(shù)") return } result := 1 for i := 1; i <= n; i++ { result *= i } fmt.Printf("%d 的階乘為 %d\n", n, result) }
登錄后復(fù)制
程序使用 if
語句檢查輸入是否有效,并使用 for
循環(huán)計(jì)算階乘。
其他流程控制語句
Go 語言還提供了其他流程控制語句,包括:
break
:退出循環(huán)或 switch
語句。
continue
:跳過循環(huán)中的當(dāng)前迭代。
goto
:跳轉(zhuǎn)到程序中的另一個(gè)位置。
defer
:延遲執(zhí)行一個(gè)函數(shù),直到當(dāng)前函數(shù)返回。