美文网首页
三.Go的类型与变量

三.Go的类型与变量

作者: kaxi4it | 来源:发表于2017-06-14 02:13 被阅读0次

    Go基本类型

    • 布尔型:bool
      长度:1字节
      取值范围:true false
      默认值:false
    • 字节型:byte(uint8)
      长度:1字节
      取值:0~255
      默认值:0
    • 整型/无符号整型:int/uint
      长度:根据运行平台而定32位系统长度为4字节
      64位系统长度为8字节
      默认值:0
    • 8位整型/8位无符号整型:int8/uint8
      长度:1字节
      取值范围:-128127/0255
      默认值:0
    • 16位整型/16位无符号整型:int16/uint16
      长度:2字节
      取值范围:-3276832767/065535
      默认值:0
    • 32位整型/32位无符号整型:int32(rune)/uint32
      长度:4字节
      取值范围:-21474836482147483647/04294967295
      默认值:0
    • 64位整型/64位无符号整型:int64/uint64
      长度:8字节
      取值范围:-92233720368547758089223372036854775807/018446744073709551615
      默认值:0
    • 浮点型:float32/float64
      长度:4字节/8字节
      取值范围:小数位精确到7/15位
      默认值:0
    • 复数:complex64/complex128
      长度:8字节/16字节
      complex64表示用实部和虚由float32构成
      complex128表示用实部和虚由float64构成
      复数是一个数学概念,形如a+bi(a,b均为实数)的数称为复数,其中a称为实部,b称为虚部,i称为虚数单位
      默认值:(0+0i)
    • 保存指针的32位/64位整数型:uintptr
      长度:根据运行平台而定32位系统长度为4字节
      64位系统长度为8字节
    • 数组:array
      值类型
      默认值:根据数组的长度和基本类型而定
    • 数组切片:slice
      引用类型
      默认值:根据切片的长度和基本类型而定
    • 结构:struct
      值类型
    • 字符串:string
      值类型
      默认值:一个空字符串""
    • 字典:map
      引用类型
    • 通道:chan
      引用类型
    • 通道:interface
      接口类型
    • 通道:func
      函数类型

    Go变量声明与赋值

    • 单个变量的声明赋值
      声明格式:var 变量名称 变量类型
      赋值格式:变量名称=表达式
      声明时赋值:var 变量名称 变量类型(可选)=表达式
      声明时赋值简写格式:变量名称:=表达式
    func init() {
        var a int
        a = 1
        var b int = 2
        c := 3//必须在函数体内,全局变量不可用
    }
    
    • 多个变量的声明赋值
      全局变量的声明可使用var()的方式简写
      全局变量的声明不可以省略var,但可使用并行方式
      所有变量都可以使用类型推断
      局部变量不可以使用var()的方式简写,只能使用并行方式
    func init() {
        var a, b, c int
        a, b, c = 1, 2, 3
        var d, e, f int = 4, 5, 6
        var g, h, i = 7, 8, 9
        j, k, l := 10, 11, 12
    }
    
    • 变量的类型转换
      Go没有隐式转换,所有类型转换必须显式声明
      转换只能发生在两种相互兼容的类型之间
      类型转换的格式:
      var 变量名称A = 类型名称(变量名称B)
      变量名称A := 类型名称(变量名称B)
    func init() {
        var a float32 = 1.5
        b := int(a)
        var c = float32(b)
    }
    

    直通车

    一.Go开发工具及命令
    二.Go编程基础知识
    三.Go的类型与变量
    四.Go常量与运算符
    五.Go控制语句
    六.Go数组
    七.Go切片slice
    八.Go哈希字典map
    九.Go函数func
    十.Go结构struct

    相关文章

      网友评论

          本文标题:三.Go的类型与变量

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