zoukankan      html  css  js  c++  java
  • go_base_04_运算符

    go_base_04_运算符

    1.算术运算符

    运算符 描述
    + 相加
    - 相减
    * 相乘
    / 相除
    % 求余
    • 注意: ++(自增)和 --(自减)在 Go 语言中并不是运算符,而是单独的语句

    2.关系运算符

    运算符 描述
    == 检查两个值是否相等,如果相等返回 True 否则返回 False。
    != 检查两个值是否不相等,如果不相等返回 True 否则返回 False。
    > 检查左边值是否大于右边值,如果是返回 True 否则返回 False。
    >= 检查左边值是否大于等于右边值,如果是返回 True 否则返回 False。
    < 检查左边值是否小于右边值,如果是返回 True 否则返回 False。
    <= 检查左边值是否小于等于右边值,如果是返回 True 否则返回 False。

    3.逻辑运算符

    运算符 描述
    && 逻辑 AND 运算符。 如果两边的操作数都是 True,则为 True,否则为 False。
    || 逻辑 OR 运算符。 如果两边的操作数有一个 True,则为 True,否则为 False。
    ! 逻辑 NOT 运算符。 如果条件为 True,则为 False,否则为 True。

    4.位运算符

    • 位运算符对整数在内存中的二进制位进行操作
    运算符 描述
    & 参与运算的两数各对应的二进位相与。(两位均为1才为1,否则为0)
    | 参与运算的两数各对应的二进位相或。(两位有一个为1就为1)
    ^ 参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。(两位不一样则为1)
    << 左移n位就是乘以2的n次方。“a<<b”是把a的各二进位全部左移b位,高位丢弃,低位补0。
    >> 右移n位就是除以2的n次方。“a>>b”是把a的各二进位全部右移b位。

    5.赋值运算符

    运算符 描述
    = 简单的赋值运算符,将一个表达式的值赋给一个左值
    += 相加后再赋值
    -= 相减后再赋值
    *= 相乘后再赋值
    /= 相除后再赋值
    %= 求余后再赋值
    <<= 左移后赋值
    >>= 右移后赋值
    &= 按位与后赋值
    |= 按位或后赋值
    ^= 按位异或后赋值

    6.实例演示

    package main
    
    import "fmt"
    
    // 算数运算
    func suanshuDemo() {
        n1 := 20
        n2 := 5
        fmt.Println(n1 + n2)
        fmt.Println(n1 - n2)
        fmt.Println(n1 * n2)
        fmt.Println(n1 / n2)
        fmt.Println(n1 % n2)
        n1++
        n2--
        fmt.Println(n1)
        fmt.Println(n2)
    }
    
    // 关系运算
    func guanxiDemo() {
        n1 := 20
        n2 := 5
        fmt.Println(n1 == n2)
        fmt.Println(n1 != n2)
        fmt.Println(n1 > n2)
        fmt.Println(n1 >= n2)
        fmt.Println(n1 < n2)
        fmt.Println(n1 <= n2)
    }
    
    // 逻辑运算
    func luojiDemo() {
        n1 := true
        n2 := false
        fmt.Println(n1 && n2)
        fmt.Println(n1 || n2)
        fmt.Println(!n1)
        fmt.Println(!n2)
    }
    
    // 位运算 1101--13 11--3
    func weiDemo() {
        n1 := 13
        n2 := 3
        fmt.Printf("13的二进制为%b
    ", n1)
        fmt.Printf("3的二进制为%b
    ", n2)
        fmt.Printf("13和3进行位运算 &,结果为 %b,%v
    ", n1&n2, n1&n2)
        fmt.Printf("13和3进行位运算 |,结果为 %b,%v
    ", n1|n2, n1|n2)
        fmt.Printf("13和3进行位运算 ^,结果为 %b,%v
    ", n1^n2, n1^n2)
        fmt.Printf("3进行位运算 << 左移10位,结果为 %b,%v
    ", 3<<10, 3<<10)
        fmt.Printf("3进行位运算 >> 右移1位,结果为 %b,%v
    ", 3>>1, 3>>1)
    }
    
    // 赋值运算
    func fuzhiDemo() {
        num := 10
        x := 2
        num = num * x
        fmt.Println(num)
        num /= x
        fmt.Println(num)
    }
    
    func main() {
        // suanshuDemo()
        // guanxiDemo()
        // luojiDemo()
        // weiDemo()
        // fuzhiDemo()
    }
    

    10.参考地址

    https://www.liwenzhou.com/posts/Go/03_operators/
    
    本文版权归作者和博客园共有,如需转载请在文章页面给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    border-radius
    border-style
    border-width
    border
    max-width
    min-width
    clip 语法
    left
    z-index
    position
  • 原文地址:https://www.cnblogs.com/tssc/p/14827194.html
Copyright © 2011-2022 走看看