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 ", a, a) fmt.Printf("变量b的数据类型是:%T,其对应的值是:%d ", b, b) /* !: 逻辑非,非真为假,非假为真 */ fmt.Printf("a > b 结果为:[%t] ", (a > b)) fmt.Printf("a < b 结果为:[%t] ", !(a > b)) c := true fmt.Printf("变量c的数据类型是:%T,其对应的值是:[%t] ", c, c) fmt.Printf("变量c的数据类型是:%T,其对应的值是:[%t] ", !c, !c) }
2>.短路与运算符(&&)使用案例
package main import ( "fmt" ) func main() { a := true b := true fmt.Printf("变量a的数据类型是:%T,其对应的值是:%t ", a, a) fmt.Printf("变量b的数据类型是:%T,其对应的值是:%t ", b, b) /* &&: 同真为真,其余为假 */ fmt.Printf("a && b 的结果为[%t] ", a && b) c := false d := true fmt.Printf("变量c的数据类型是:%T,其对应的值是:%t ", c, c) fmt.Printf("变量d的数据类型是:%T,其对应的值是:%t ", d, d) fmt.Printf("c && d 的结果为:[%t] ", (c && d)) }
3>.短路或运算符(||)使用案例
package main import ( "fmt" ) func main() { a := false b := false fmt.Printf("变量a的数据类型是:%T,其对应的值是:%t ", a, a) fmt.Printf("变量b的数据类型是:%T,其对应的值是:%t ", b, b) /* ||: 逻辑或,同假为假,其余为真 */ fmt.Printf("a && b 的结果为[%t] ", a && b) c := true d := false fmt.Printf("变量c的数据类型是:%T,其对应的值是:%t ", c, c) fmt.Printf("变量d的数据类型是:%T,其对应的值是:%t ", d, d) fmt.Printf("c && d 的结果为:[%t] ", (c && d)) }