美文网首页
4.Go语言基本类型

4.Go语言基本类型

作者: kukela | 来源:发表于2018-10-04 15:28 被阅读0次

    基本类型

    1. 布尔型:bool
      1. 长度:1位
      2. 取值范围:true - false
      3. 注意事项:不可以用数字表示
    2. 整形:int
      1. 根据平台不同可以为32或4位
      2. 细分类型:int8、int16、int32、int64
      3. 取值范围:-128 ~ 127、-32768 ~ 32767、-2^32 / 2 ~ 2^32 / 2 - 1、-2^64 / 2 ~ 2^64 / 2 - 1
    3. 无符号整形: uint
      1. 根据平台不同可以为32或4位
      2. 细分类型:uint8、uint16、uint32、uint64
      3. 取值范围:0 ~ 255、0 ~ 65535、0 ~ 2^33 - 1、0 ~ 2^65 - 1
    4. 字节型:byte(uint8的别名)
    5. 浮点型:float32 / float64
      1. 长度:4/8字节
      2. 小数位:精确到7/15小数位
    6. 复数型:complex64/complex128
      1. 长度:8/16字节
    7. 指针型:uintptr
      1. 足够保存指针的32或64位整形
    8. 其他值类型:
      1. 数组(array)
      2. 结构(struct)
      3. 字符串(string)
    9. 引用类型(非传统引用):
      1. 切片(slice)
      2. 类哈希表(map)
      3. 管道(chan)
    10. 接口型(interface)
    11. 函数型(func)

    类型零值

    零值并不等价于空值(NULL),是指在变量被声明为某种类型之后自动获得的默认值。
    int -> 0
    bool -> false
    float64 -> 0.0
    string -> ""(空字符串)
    结构 -> 空结构
    引用类型 -> nil(空指针)

    类型别名

    1. 类型别名可以为某个类型赋予新的合法名称
    2. 类型别名并不是单纯的重命名或指向,而是用源类型作为底层类型,定义了一个全新的类型
    3. 新类型与源类型之间需要类型转换,属于相互兼容的类型
    4. 新类型可以拥有属于自己的一套方法
    5. 新类型不会继承源类型的方法,而需要进行类型转换后才可以调用
    示例:
    package main
    
    import "fmt"
    
    type 别名 bool
    
    func main() {
        var a 别名
        fmt.Println(a)
    }
    

    相关文章

      网友评论

          本文标题:4.Go语言基本类型

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