Go语言学习笔记 --- 运算符

学习笔记根据 无闻 go语言基础教程 整理

Go 中的运算符

  • Go 中的运算符都是从左到右的

  • 优先级 (从高到低)

    • 一元运算符:
      ^ !
    • 二元运算符:
      \*   /  %  <<  >>  &  &^
      \+  -  |  ^
      == != < <= >= >
      <-
      &&
      ||
      

& 与 && 的区别

  • & 会将两边的表达式同时执行

  • && 只要左边的表达式不成立,右边的表达式便不会被执行

示例代码:

import (
    "fmt"
)

/*
 6: 0110
11: 1011
-------------
&   0010 = 2
|   1111 = 15
^   1101 = 13
&^  0100 = 4
*/

const (
    B float64 = 1 << (iota * 10)
    KB
    MB
    GB
    PB
    TB
)

func main() {
    test1()
    test2()
    test3()
}

func test1() {
    fmt.Println(!ture) // false
    fmt.Println(1 << 10) // 1024
    fmt.Println(1 << 10 << 10) // 1048576
    fmt.Println(1 << 10 << 10 >> 10) // 1024
    fmt.Println()
    fmt.Println(6 & 11) // 2
    fmt.Println(6 | 11) // 15
    fmt.Println(6 ^ 11) // 13
    fmt.Println(6 &^ 11) // 4
}

func test2() {
    a := -1
    if a > 0 && (10/a) > 1 {
        fmt.Println("fine!") // 不会被执行
    }
}

func test3() {
    fmt.Println(B)  // 1
    fmt.Println(KB) // 1024
    fmt.Println(MB) // 1.048576e+06
    fmt.Println(GB) // 1.073741824e+09
    fmt.Println(PB) // 1.099511627776e+12
    fmt.Println(TB) // 1.125899906842624e+15
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wang's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值