zoukankan      html  css  js  c++  java
  • golang数据类型

             Go 语言中的数据类型,也是多姿多态,不过一般分为两大类,基本类型和引用类型,基本数据类型有int,float,bool,string,以及数组和struct,特点是变量直接存储值,内存通常在栈中分配,栈在函数调用完会被释放,引用类型有,指针,slice,map,chan等都是引用类型,特点是变量存储的是一个地址,这个地址存储最终的值。内存通常在堆上分配,通过GC回收。

    基本类型

    整型

    整型分为以下两个大类: 按长度分为:int8、int16、int32、int64 对应的无符号整型:uint8、uint16、uint32、uint64

    对应占用的内存大小

    int8:    8位        1字节
    int16: 16位      2个字节
    int32: 32位     4个字节
    int64: 64位     8个字节

    可以使用math包来获取取值范围。

    package main
    
    import (
        "fmt"
        "math"
    )
    
    func main() {
        fmt.Println("int8: ", math.MinInt8, math.MaxInt8)
        fmt.Println("int16: ", math.MinInt16, math.MaxInt16)
        fmt.Println("int32: ", math.MinInt32, math.MaxInt32)
        fmt.Println("int64: ", math.MinInt64, math.MaxInt64)
    }

    浮点型

    Go语言提供两种用来存储小数的数据类似即浮点型,浮点型又分为float32、float64。区别在于表达数字的长度和精度一样。

    对应占用内存的大小

    float32: 32位    4个字节
    float64: 64位    8 个字节

     获取取值范围

    package main
    
    import (
        "fmt"
        "math"
    )
    
    func main() {
        fmt.Println("Float32: ", math.MaxFloat32)
        fmt.Println("Float32: ", math.MaxFloat64)
    
    }

    布尔值

    Go语言中的bool类型也是比较有特色的,只包含True和False两个值。布尔类型在内存中只占用一位

    注意:

    1. 布尔类型变量的默认值为false
    2. Go 语言中不允许将整型强制转换为布尔型.
    3. 布尔型无法参与数值运算,也无法与其他类型进行转换。

    字符串

    Go语言中的字符串以原生数据类型出现,使用字符串就像使用其他原生数据类型(int、bool、float32、float64 等)一样。 Go 语言里的字符串的内部实现使用UTF-8编码。 字符串的值为双引号(")中的内容,可以在Go语言的源码中直接添加非ASCII码字符,字符串在内存中占用16位也就是2个字节

    byte和rune类型

    组成每个字符串的元素叫做“字符”,可以通过遍历或者单个获取字符串元素获得字符。 字符用单引号(’)包裹起来,如:

    Go 语言的字符有以下两种:

    1. uint8类型,或者叫 byte 型,代表了ASCII码的一个字符。
    2. rune类型,代表一个 UTF-8字符

     

  • 相关阅读:
    SoapUI 使用笔记
    git 使用笔记(二)
    git 使用笔记(一)
    jquery 拓展
    hdu 1024 Max Sum Plus Plus (DP)
    hdu 2602 Bone Collector (01背包)
    hdu 1688 Sightseeing (最短路径)
    hdu 3191 How Many Paths Are There (次短路径数)
    hdu 2722 Here We Go(relians) Again (最短路径)
    hdu 1596 find the safest road (最短路径)
  • 原文地址:https://www.cnblogs.com/Nolover/p/12503852.html
Copyright © 2011-2022 走看看