首页 > 其他 > 详细

逻辑运算符

时间:2019-08-12 22:31:36      阅读:102      评论:0      收藏:0      [点我收藏+]

用于连接多个条件(一般来讲就是关系表达式),最终的结果也是一个bool值。

技术分享图片

func main() {

  //演示逻辑运算符的使用 &&
  var age int = 40
  if age > 30 && age < 50 {
    fmt.Println("OK1")    //结果是true,输出。
  }


  if age > 30 && age < 40 {
    fmt.Println("OK2")   //结果是false,不输出。
  }

  //演示逻辑运算符的使用 ||
  if age > 30 || age < 50 {
    fmt.Println("OK3")    //结果是true,输出。
  }


  if age > 30 || age < 40 {
    fmt.Println("OK4")    //结果是true,输出。
  }

  //演示逻辑运算符的使用 !
  if age > 30 {
    fmt.Println("OK5") //结果是true,输出。
  }


  if !(age > 30) {
    fmt.Println("OK6") //结果是false,不输出。
  }
}


注意事项和细节说明:

1) && 也叫短路与:如果第一个条件为false,则第二个条件不会判断,最终结果为false。

2)|| 也叫短路或:如果第一个条件为true,则第二个条件不会判断,最终结果为true。

案例演示:

cat main.go
package main
import "fmt"

//声明一个函数(测试)

func test() bool {
  fmt.Println("test....")
  return true
}

func main() {

  var i int = 10
  //短路与
  //说明:因为 i < 9 为false,因此后面的test() 就不执行
  if i < 9 && test() {
    fmt.Println("ok...")
  }

  //说明:i < 9 虽然为false,但是后面的test()函数是true的,所以最后输出的结果是 test.... 和 hello...
  if i < 9 || test() {
    fmt.Println("hello...")
  }

  //短路或
  说明:因为 i > 9 为true,因此后面的test() 就不执行了,最后输出的结果为 hello...
  if i > 9 || test() {
    fmt.Println("hello...")
  }
}

逻辑运算符

原文:https://www.cnblogs.com/green-frog-2019/p/11342804.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!