GO基础数据类型
2020-04-06 本文已影响0人
舍是境界
包括: 数字、字符串和布尔型。
数值类型
Go语言的数值类型包括几种不同大小的整形数、浮点数和复数。每种数值类型都决定了对应的大小范围 和是否支持正负符号。
整型
- 有符号整型:int8、int16、int32、int64
- 无符号整型:uint8、 uint16、uint32、uint64
- 分别对应8、16、32、64bit大小的整形数
- int和uint:有同样的大小,32或64bit
- rune:和int32等价,通常表示一个Unicode码点
- byte:和uint8等价,代表一个原始的数据
- uintptr:没有具体的bit大小但是足以容纳指针,不常用
浮点数
- float32:可以提供大约6个十进制数的精度
- float64:可以提供约15个十进制数的精度
复数
- complex64:对应float32浮点数精度
- complex128:对应float64浮点数精度
布尔型
true和false
字符串
一个字符串是一个不可改变的字节序列。字符串可以包含任意的数据,包括byte值0,但是通常是用来包 含人类可读的文本。
Unicode
收集了这个世界上所有的符号系统,包括重音符号 和其它变音符号,制表符和回车符,还有很多神秘的符号,每个符号都分配一个唯一的Unicode码点, Unicode码点对应Go语言中的rune整数类型
UTF-8
UTF8是一个将Unicode码点编码为字节序列的变长编码。现在已经是Unicode的标准。
UTF8编码使用1到4个字节来表示每个Unicode码点,ASCII部分字符只使用1个字节,常用字符部分使用2或3个字节表示。
UTF8编码比 较紧凑,完全兼容ASCII码,并且可以自动同步:它可以通过向前回朔最多2个字节就能确定当前字符编 码的开始字节的位置。
Go语言的源文件采用UTF8编码,并且Go语言处理UTF8编码的文本也很出色。
常量
常量表达式的值在编译期计算,而不是在运行期。每种常量的潜在类型都是基础类型:boolean、string 或数字。
常量的值不可修改,这样可以防止在运行期被意外或恶意的修改