go--條件判斷 if、switch
if
基本語法
if 條件A{
...
}else if 條件B{
...
}else if 條件C{
...
}else{
...
}
例子
package main
import "fmt"
func main() {
var fruit string = "6 個蘋果"
var watermelon bool = false
if watermelon { // watermelon 為 true 時,執行里面的代碼,可以不寫 else
fruit = "1 個蘋果"
}
fmt.Printf(fruit)
}
例子:用戶輸入姓名,判斷是否正確
package main
import "fmt"
func main() {
var name string
fmt.Print("請輸入姓名:")
fmt.Scanln(&name)
if name == "zouzou" {
// 正確時執行
fmt.Println("用戶名輸入正確")
} else {
//錯誤時執行
fmt.Println("用戶名輸入錯誤")
}
}
例子:用戶輸入數字,判斷奇數、偶數
package main
import "fmt"
func main() {
var number int
fmt.Print("請輸入數字:")
fmt.Scanln(&number)
if number%2 == 0 { // 取余數
fmt.Println("您輸入的是偶數")
} else {
fmt.Println("您輸入的是奇數")
}
}
例子:用戶輸入用戶名和密碼,判斷用戶名密碼是否正確
package main
import "fmt"
func main() {
var username, password string
fmt.Print("請輸入用戶名:")
fmt.Scanln(&username)
fmt.Print("請輸入密碼:")
fmt.Scanln(&password)
if username == "zouzou" && password == "admin" {
// && 表示并且的意思,|| 表示或者的意思
fmt.Println("歡迎登錄")
} else {
fmt.Println("用戶名或密碼錯誤")
}
}
if ...else if...else
package main
import "fmt"
func main() {
var rmb int
rmb = 188
if rmb <= 20 {
// 如果不超過20,點個外賣
fmt.Println("點個外賣")
} else if rmb <= 200 {
//如果不超過200,下個館子
fmt.Println("下個館子")
} else if rmb <= 2000 {
//如果不超過2000,去米其林
fmt.Println("去米其林")
} else if rmb <= 20000 {
// 如果不超過 20000,去新馬泰
fmt.Println("去新馬泰")
} else {
//如果在多,容我想想
fmt.Println("錢太多了,容我想想")
}
}
switch
switch 語句用于基于不同條件執行不同的動作,每一個 case 分支都是唯一的,從上至下逐一測試,直到匹配為止
在 go 中,默認是有 break 的,不需要加 break。如果想去掉 break,繼續往下執行的話,需要加上 fallthrough
package main
import "fmt"
func main() {
var rmb int
rmb = 20000
switch rmb { //會判斷 rmb 的值,為多少的時候,執行 case 后面對應的代碼
case 20: // rmb 為 20 的時候,執行這個case下面的
fmt.Println("點個外賣")
case 200:
fmt.Println("下個館子")
case 2000: // rmb 為 2000 的時候,執行這個case下面的
fmt.Println("去米其林")
case 20000:
fmt.Println("去新馬泰")
default: // 都不滿足的時候,會走這個
fmt.Println("容我想想")
}
}
注意:case 后面可以跟多個值,中間用 , 隔開
例如
package main
import "fmt"
func main() {
var rmb int
rmb = 20000
switch rmb {
case 20:
fmt.Println("點個外賣")
case 200, 300: // 多個條件,中間用 ,隔開
fmt.Println("下個館子")
case 2000:
fmt.Println("去米其林")
case 20000:
fmt.Println("去新馬泰")
default:
fmt.Println("容我想想")
}
}
case 后面也可以用區間
把條件寫在 case 后面就可以了
package main
import "fmt"
func main() {
scope := 66
grade := ""
switch { // 條件可以不放在 switch 里面
case scope >= 90: // 條件放在 case 后面
grade = "A"
case scope >= 80 && scope <= 89:
grade = "B"
case scope >= 70 && scope <= 79:
grade = "C"
case scope >= 60 && scope <= 69:
grade = "D"
default:
grade = "E"
}
fmt.Println(grade)
}

浙公網安備 33010602011771號