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/
    
    本文版权归作者和博客园共有,如需转载请在文章页面给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    MySQL "show users"
    MySQL
    A MySQL 'create table' syntax example
    MySQL backup
    MySQL show status
    Tomcat, pathinfo, and servlets
    Servlet forward example
    Servlet redirect example
    Java servlet example
    How to forward from one JSP to another JSP
  • 原文地址:https://www.cnblogs.com/tssc/p/14827194.html
Copyright © 2011-2022 走看看