美文网首页工作生活
Golang逻辑运算符短路补充

Golang逻辑运算符短路补充

作者: 野狐先生 | 来源:发表于2019-07-02 17:46 被阅读0次
    运算符 逻辑运算
    && 与(短路与)
    || 或(短路或)
    !

    在程序开发中,逻辑运算符大家应该都比较熟悉了,最近在Golang的学习中,又收获了一个小特性,记录一下。逻辑运算符中的短路特性
    !总结:
    逻辑运算符:
    1.非【!】 非真为假 非假为真
    2.或【||】同假为假 其余为真
    3.与【&&】同真为真 其余为假
    注意:逻辑运算符只针对于布尔类型的数据值 或者表达式使用
    这是原先的总结,依次为基础,我们来看下短路
    首页我们写一个短路的证明:
    代码:

    //因为0不能作为除数的特性 ,我们这里使用0来进行举证。
    a,b:=10,0
    if a>0 || a/b>0{
        fmt.Println("OK")
    }
    

    分析 :这个时候 || 左边为true 右边会报错 而或[||] 只要有一个为true即可满足条件
    这个时候 我们是可以看到OK的输出的 而没有报错
    如果改为a<0 左边的判断条件为false 就会接着去执行右边的表达式 此时报错 而OK也无法输出
    代码:

    //因为0不能作为除数的特性 ,我们这里使用0来进行举证。
    a,b:=10,0
    if a>0 && a/b>0{
        fmt.Println("OK")
    }
    

    并且 同真为真 其余为假 根据这个特性 我们就可以推导 和上面的短路或 有一些相似
    而他是在其中有一个是false的情况下 即我们得出左边的值是false 那么程序就会直接输出OK 不会报右边除于0的错误
    上述举例中,a>0为true 这种情况下 还会继续向右执行 这个时候是报错的
    很简单的一个点 希望对大家能有帮助。

    相关文章

      网友评论

        本文标题:Golang逻辑运算符短路补充

        本文链接:https://www.haomeiwen.com/subject/wzethctx.html