Golang学习笔记-基本类型

整型

类型名称有无符号大小
int81字节
int162字节
int324字节
int648字节
uint81字节
uint162字节
uint324字节
uint648字节
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)//你好世界
    }
}
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页