Golang初級系列教程-控制結構-ifelse
阿新 • • 發佈:2019-01-29
程式能夠根據不同的條件執行不同的功能——如果你想去海灘請向左轉,如果想去電影院請向右轉。if else
語句是非常簡單的控制結構。在Go
中通常的用法如下。
if some_boolean_expression {
// execute this block if some_boolean_expression is true
} else if alternate_boolean_expression {
// execute this block if alternate_boolean_expression is true
} else {
// if none of the other blocks are executed, then execute this block
}
幾點提示:
some_boolean_expression
和alternate_boolean_expression
需要為bool
型別的值:true
或者false
- 在判定語句兩側不需要
()
——也可以使用,但是沒必要 Go
獨特之處:需要將大括號{
同if else
放在同一行,否則會報錯哦。missing condition in if statement or syntax error: unexpected semicolon or newline before else.
- 如果多個判定都為
true
,那麼總是會執行遇到的第一個為正確的語句塊
注意:
int
型別不能作為真值
使用——和C
語言不同,在C
語言中整型和指標都可以作為真值
使用
必須具有明確的值 ture
或者 false
, 或者使用能夠產生 true
或者 false
的表示式。以下能夠獲得真值
的表示式是允許的。
== equal to
!= not equal to
< less than
<= less than or equal to
> greater than
<= greater than or equal to
&& and
|| or
通過幾個例項說明上述的內容。首先,使用bool
值。
package main
import "fmt"
func main() {
if true {
fmt.Println("the true block is executed")
}
if false {
fmt.Println("the false block won't be executed")
}
}
the true block is executed
通過比較操作符獲取真值
package main
import "fmt"
func main() {
a, b := 4, 5
if a < b {
fmt.Println("a is less than b")
} else if a > b {
fmt.Println("a is greater than b")
} else {
fmt.Println("a is equal to b")
}
}
a is less than b
if else
非常的簡單,不需要再過多的舉例了。以下讓我們簡單列舉一些常見的錯誤即可。
錯誤小片段
//error: non-bool 5 (type ideal) used as if condition
if 5 { //an integer type does not evaluate to a bool by itself
}
//error: non-bool s (type string) used as if condition
var s string
if s { //a string type does not evaluate to a bool by itself
}
//error: non-bool e (type os.Error) used as if condition
var e os.Error
e = nil
if e { //nil value is not a true or false
}
//error: missing condition in if statement
if true //the open brace needs to be on this line
{ }
//error: unexpected semicolon or newline before else
if true {
} // the else needs to be on this line itself
else {
}
Golang一種神奇的語言,讓我們一起進步