Golang的運算符-邏輯運算符
作者:尹正傑
版權聲明:原創作品,謝絕轉載!否則將追究法律責任。
一.邏輯運算符概述
!: 非運算符,表示NOT(有種取反的意思),如"!ture",結果為"false" &&: 短路與運算符,表示AND(如果等式左邊不成立,那么等式右邊就不會參與計算,直接得出結果),如"false && true",等式左邊為false,等式右邊不會參與計算,直接得出結果false. ||: 短路或,表示OR(如果等式左邊成立,那么等式右邊就不會參與計算,直接得出結果),如"true || false",等式左邊為true,等式右邊不會參與計算,直接得出結果true.
二.邏輯運算符實戰案例
1>.非運算符(!)使用案例
package main import "fmt" func main() { a := 100 b := 20 fmt.Printf("變量a的數據類型是:%T,其對應的值是:%d\n", a, a) fmt.Printf("變量b的數據類型是:%T,其對應的值是:%d\n", b, b) /* !: 邏輯非,非真為假,非假為真 */ fmt.Printf("a > b 結果為:[%t]\n", (a > b)) fmt.Printf("a < b 結果為:[%t]\n", !(a > b)) c := true fmt.Printf("變量c的數據類型是:%T,其對應的值是:[%t]\n", c, c) fmt.Printf("變量c的數據類型是:%T,其對應的值是:[%t]\n", !c, !c) }

2>.短路與運算符(&&)使用案例
package main import ( "fmt" ) func main() { a := true b := true fmt.Printf("變量a的數據類型是:%T,其對應的值是:%t\n", a, a) fmt.Printf("變量b的數據類型是:%T,其對應的值是:%t\n", b, b) /* &&: 同真為真,其余為假 */ fmt.Printf("a && b 的結果為[%t]\n", a && b) c := false d := true fmt.Printf("變量c的數據類型是:%T,其對應的值是:%t\n", c, c) fmt.Printf("變量d的數據類型是:%T,其對應的值是:%t\n", d, d) fmt.Printf("c && d 的結果為:[%t]\n", (c && d)) }

3>.短路或運算符(||)使用案例
package main import ( "fmt" ) func main() { a := false b := false fmt.Printf("變量a的數據類型是:%T,其對應的值是:%t\n", a, a) fmt.Printf("變量b的數據類型是:%T,其對應的值是:%t\n", b, b) /* ||: 邏輯或,同假為假,其余為真 */ fmt.Printf("a && b 的結果為[%t]\n", a && b) c := true d := false fmt.Printf("變量c的數據類型是:%T,其對應的值是:%t\n", c, c) fmt.Printf("變量d的數據類型是:%T,其對應的值是:%t\n", d, d) fmt.Printf("c && d 的結果為:[%t]\n", (c && d)) }

