美文网首页
Golang学习笔记-基本类型

Golang学习笔记-基本类型

作者: 土豆吞噬者 | 来源:发表于2019-08-29 11:49 被阅读0次

    整型

    类型名称 有无符号 大小
    int8 1字节
    int16 2字节
    int32 4字节
    int64 8字节
    uint8 1字节
    uint16 2字节
    uint32 4字节
    uint64 8字节
    int 编译的目标平台为32位时占4字节,64位占8字节
    uint 编译的目标平台为32位时占4字节,64位占8字节
    rune 同int32
    byte 同uint8
    uintptr 同uint

    rune表示一个Unicode code point,本质上是int32。
    byte强调数值是原始数据而不是一个小的整数,本质上是uint8。
    uintptr用于指针运算,本质上是uint。

    浮点型

    Go提供了两种浮点数类型,float32和float64,分别占用4字节和8字节,它们的算术规范由IEEE754浮点数国际标准定义。

    复数型

    Go提供了两种复数类型,complex64和complex128,分别占用8字节和16字节,complex函数用于构建复数,real和imag函数分别返回复数的实部和虚部。

    布尔型

    布尔型的值只可以是 true 或者 false,例如var b bool = true,布尔型占用1字节。

    字符串

    Go 的字符串使用 UTF-8 编码,内置的len函数可以返回一个字符串中的字节数(不是rune数)。

    使用反引号(键盘上1左边)括起来的字符串为原生字符串,原生字符串会原样输出,没有转义操作。

    func main() {
        var value1 string="hello"
        var value2 string=` world \n \b \n \r`
        fmt.Println(value1+value2)//hello world \n \b \n \r
    }
    

    使用下标遍历的是字符串中的字节,使用for range可以遍历字符串中的rune。

    func main() {
        s := "你好世界"
        for i:=0; i < len(s); i++{
            fmt.Printf("%c", s[i])//乱码
        }
        fmt.Printf("\n")
        for _, v := range s {
            fmt.Printf("%c", v)//你好世界
        }
    }
    

    相关文章

      网友评论

          本文标题:Golang学习笔记-基本类型

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