編程中的決策類似于現(xiàn)實生活中的決策。在決策中,當滿足給定條件時執(zhí)行一段代碼。有時,這些也稱為控制流語句。Golang使用指定語句根據(jù)某些條件指定程序的執(zhí)行流程。這些用于根據(jù)程序狀態(tài)的更改使執(zhí)行流程前進和分支。
Go編程的決策語句為:
這是最簡單的決策。它用于決定是否執(zhí)行某個語句或語句塊,即,如果某個條件為真,則執(zhí)行語句塊,否則不執(zhí)行。
語法:
if(condition) {
//if要執(zhí)行的語句
//condition為真
}流程圖:
范例:
//使用if語句
package main
import "fmt"
func main() {
//取局部變量
var v int = 700
//使用if語句
//檢查條件
if v < 1000 {
//打印以下內容,條件評估為true
fmt.Printf("v小于1000\n")
}
fmt.Printf("v的值是 : %d\n", v)
}輸出:
v小于1000 v的值是 : 700
if語句告訴我們,如果條件為true,它將執(zhí)行語句塊,如果條件為false,則不會執(zhí)行。但是如果條件為false,我們想做其他事情怎么辦;那就要用到else語句。當條件為false時,可以將else語句與if語句一起使用以執(zhí)行代碼塊。
語法:
if (condition) {
// if條件為true,執(zhí)行此代碼塊
} else {
// if條件為false,執(zhí)行此代碼塊
}流程圖:
// 使用 if...else 語句
package main
import "fmt"
func main() {
//局部變量
var v int = 1200
// 使用if語句檢查條件
if v < 1000 {
//打印以下內容,如果條件評估為true
fmt.Printf("v < 1000\n")
} else {
//打印以下內容,如果條件評估為false
fmt.Printf("v > 1000\n")
}
}輸出:
v > 1000
在Go語言中,一個嵌套的if是一個if語句,它是另一個if或else的目標。嵌套if語句是指if語句中的if語句。是的,Golang允許我們在if語句中嵌套if語句。我。我們可以把一個if語句放在另一個if語句中。
語法:
if (condition1) {
// 當條件1為真時執(zhí)行
if (condition2) {
// 當條件2為真時執(zhí)行
}
}流程圖:
//使用嵌套if語句
package main
import "fmt"
func main() {
//兩個局部變量
var v1 int = 400
var v2 int = 700
//使用if語句
if( v1 == 400 ) {
// if條件為true時執(zhí)行
if( v2 == 700 ) {
// if條件為true時,執(zhí)行打印輸出
fmt.Printf("v1的值是400,v2的值是700\n" );
}
}
}輸出:
v1的值是400,v2的值是700
在這里,用戶可以在多個選項中進行選擇。if語句從上至下執(zhí)行。一旦if的任意條件為true,則將執(zhí)行與if關聯(lián)的語句,并跳過其余的if語句。如果所有條件都不成立,則將執(zhí)行最終的else語句。
重要事項:
if語句可以有0個或1個if,并且必須在其他if后面。
if語句可以有0到多個if,并且必須在else之前
如果else if成功,其余的else if 或else 都不會被執(zhí)行
語法:
if(condition_1) {
//condition_1為true,執(zhí)行這里的代碼塊
} else if(condition_2) {
//condition_2為true,執(zhí)行這里的代碼塊
}else {
//沒有條件為true時,執(zhí)行這里代碼塊
}流程圖:
package main
import "fmt"
func main() {
var v1 int = 700
if(v1 == 100) {
// 如果條件為真,則顯示以下內容
fmt.Printf("v1的值是100\n")
} else if(v1 == 200) {
fmt.Printf("v1的值是200\n")
} else if(v1 == 300) {
fmt.Printf("v1的值是300\n")
} else {
//如果條件都不為真
fmt.Printf("沒有匹配的值\n")
}
}輸出:
沒有匹配的值