整型
Golang 的整数类型分为有符号和无符号
int 和 uint 的大小和系统是多少位(32 / 64)有关
Golang 的整型默认声明为 int 型
面试题:i := 123 那么 i 是什么类型?占用多少字节?
浮点型
浮点数在机器中存放形式的简单说明, 浮点数 = 符号位 + 指数位 + 尾数位
浮点数都是有符号的
Golang 浮点类型有固定的范围和字段长度,不受具体 OS(操作系统)的影响
Golang 的浮点型默认声明为 float64 类型
浮点型常量有两种表示形式: 十进制数 / 科学计数法
字符类型
Golang 中没有专门的字符类型
如果要存储单个字符(字母),一般使用 byte 来保存
字符串就是一串固定长度的字符连接起来的字符序列
Go 的字符串是由单个字节连接起来的
对于传统的字符串是由字符组成的,而 Go 的字符串不同,它是由字节组成的
对上面代码说明
1) 如果我们保存的字符在 ASCII 表的,比如[0-1, a-z,A-Z..]直接可以保存到 byte
2) 如果我们保存的字符对应码值大于 255,这时我们可以考虑使用 int 类型保存
3) 如果我们需要按照字符的方式输出,这时我们需要格式化输出,即 fmt.Printf(“%c”, c1)
字符类型使用细节
1)字符常量是用单引号('')括起来的单个字符
2)Go 中允许使用转义字符 '\’来将其后的字符转变为特殊字符型常量
3)Go 语 言 的 字 符 使 用 UTF-8 编 码 ,英文字母-1 个字节 汉字-3 个字节
4)在 Go 中,字符的本质是一个整数,直接输出时,是该字符对应的 UTF-8 编码的码值
5)可以直接给某个变量赋一个数字,然后按格式化输出时%c,会输出该数字对应的 unicode 字符
6)字符类型是可以进行运算的,相当于一个整数,因为它都对应有 Unicode 码
字符类型本质探讨
1) 字符型 存储到 计算机中,需要将字符对应的码值(整数)找出来
存储:字符 ——> 对应码值 ——> 二进制 ——> 存储
读取:二进制 ——> 码值 ——> 字符 ——> 读取
2) 字符和码值的对应关系是通过字符编码表决定的(是事先规定好的)
3) Go 语言的编码都统一成了 utf-8。非常的方便,很统一,再也没有编码乱码的困扰了
布尔类型
1) 布尔类型也叫 bool 类型,bool 类型数据只允许取值 true 和 false
2) bool 类型占 1 个字节
string 类型
字符串就是一串固定长度的字符连接起来的字符序列。
Go 的字符串是由单个字节连接起来的。
Go 语言的字符串的字节使用 UTF-8 编码标识 Unicode 文本
字符串细节
1) Go 语言的字符串的字节使用 UTF-8 编码标识 Unicode 文本,
这样 Golang 统一使用 UTF-8 编码,中文乱码问题不会再困扰程序员。
2) 字符串一旦赋值了,字符串就不能修改了:在 Go 中字符串是不可变的。
3) 字符串的两种表示形式
(1) 双引号, 会识别转义字符
(2) 反引号,以字符串的原生形式输出,包括换行和特殊字符,可以实现防止攻击、输出源代码等效果
4) 字符串拼接方式
5) 当一行字符串太长时,需要使用到多行字符串( “+” 必须在每一行的 末尾)
基本数据类型的默认值