Go 数据类型

整型

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) 当一行字符串太长时,需要使用到多行字符串( “+” 必须在每一行的 末尾)

基本数据类型的默认值

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值