美文网首页
4.5. 基本类型和运算符

4.5. 基本类型和运算符

作者: 曲镇 | 来源:发表于2018-12-26 10:44 被阅读0次

    4.5. 基本类型和运算符

    1. 布尔型的值只可以是常量 true 或者 false
    var b bool = true
    
    1. 可以使用 ==!= 来判断2个布尔值是否相同
    2. 布尔值的命名可以用 is 或者 Is 开头能够很好地提升代码的可读性,如:isSortedisFinishedisVisible

    4.5.2.1 整型 int 和浮点型 float

    1. Go 语言支持整型浮点型数字,并且原生支持复数,其中位的运算采用补码。

    2. Go 也有基于架构的类型,例如:intuintuintptr

      • int 和 uint 在 32 位操作系统上,它们均使用 32 位(4 个字节),在 64 位操作系统上,它们均使用 64 位(8 个字节)。
      • uintptr 的长度为足够存放一个指针。
    3. Go 语言中没有 float 类型。

    4. 与操作系统架构无关的类型都有固定的大小
      整数

      • int8(-128 -> 127)
      • int16(-32768 -> 32767)
      • int32(-2,147,483,648 -> 2,147,483,647)
      • int64(-9,223,372,036,854,775,808 -> 9,223,372,036,854,775,807)

      无符号整数:

      • uint8(0 -> 255)
      • uint16(0 -> 65,535)
      • uint32(0 -> 4,294,967,295)
      • uint64(0 -> 18,446,744,073,709,551,615)

      浮点型(IEEE-754 标准):

      • float32(+- 1e-45 -> +- 3.4 * 1e38)
      • float64(+- 5 1e-324 -> 107 1e308)
    5. int 型是计算最快的一种类型。

    6. 尽可能地使用 float64,因为 math 包中所有有关数学运算的函数都会要求接收这个类型。

    4.5.2.3 位运算

    二元运算符

    • 按位与 &
    1 & 1 -> 1
    1 & 0 -> 0
    0 & 1 -> 0
    0 & 0 -> 0
    
    • 按位或 |
    1 | 1 -> 1
    1 | 0 -> 1
    0 | 1 -> 1
    0 | 0 -> 0
    
    • 按位异或^
    1 ^ 1 -> 0
    1 ^ 0 -> 1
    0 ^ 1 -> 1
    0 ^ 0 -> 0
    
    • 位清除 &^:将指定位置上的值设置为 0
      如果运算符左右侧数据相同,则值取0,若不同取左侧数据
    a := 1
    b := 10
    c := b &^ a  // a:1,  b:10, c:10
    //----------------------------
    a := 10
    b := 10
    c := b &^ a  // a:10,  b:10, c:0
    

    相关文章

      网友评论

          本文标题:4.5. 基本类型和运算符

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