一.基本数据类型
1.数值型
1)整数类型(int,int8,int16,int32,int64,until,until8,until16,until32,until64,byte)
简单来说就是整数值,默认值为0
细节:1.有符号和无符号,int和until的大小和系统有关
2.Golang的整型默认声明为int型
3.如何查看某个变量的字节大小和数据类型
4.Golang程序中整型变量在使用时,遵循保小不保大的原则。即:在保证程序正确运行下,尽量使用占用空间小的数据类型
2)浮点类型(float32,float64)
单精度占四个字节,双精度占八个字节
简单来说就是小数 默认值为0
说明:
1.浮点数在机器中存放形式的简单说明,浮点数=符号位+指数位+尾数位
2.字符型
Golang中没有专门的字符型,使用byte来保存单个字母字符,Go的字符串是由单个字节连接起来的,字符串是由字节组成,默认值为""
说明 :1.如果我们保存的字符在ASCLL表的,比如[0-1,a-z,A-Z]直接可以保存到byte
2.如果我们保存的字符对应码值大于255,这时我们可以考虑使用int类型保存
3.如果我们需要安装字符的方式输出,这时我们需要格式化输出。
细节:1.字符常量是用单引号('')括起来的单个字符。
2.Go中允许使用转义字符'\'来将其后的字符转变为特殊字符型常量,例如'\n'表示换行符
3.Go语言的字符使用UTF-8编码
4.在Go中,字符的本质是一个整数,直接输出时,是该字符对应的UTF-8编码的码值
5.可以直接给某个变量赋一个数字然后格式化输出时%C会输出该数字对应的Unicode字符
6.字符类型是可以进行运算的,相当于一个整数,因为它都对应有Unicode码
字符型存储到计算机中
存储:字符-->对应码值--->二进制----->存储
读取:二进制-->码值---->字符---->读取
3.布尔型(bool)
1.bool类型数据只允许取值true和false,不可以0或非0的整数替代false和true
2.bool类型占1个字节
3.Boolean类型适于逻辑运算,一般用于程序流程控制,if条件控制语句,for循环控制语句
默认值为false
4.字符串(String)
字符串就是一串固定长度的字符链接起来的字符序列。Go的字符串是由单个字节连接起来的。
细节:1.Go语言的字符串的字节使用UTF-8编码标识Unicode文本
2.字符串一旦赋值了,字符串就不能修改了
3.字符串的两种表示形式
1).双引号,会识别转义字符
2).反引号,以字符串的原生形式输出,包括换行和特殊字符,可以实现防止攻击,输出源代码的效果
4.字符串拼接方式
二.派生/复杂数据类型
1.指针(pointer)
2.数组
数组可以存放多个同一类型数据。数组也是一种数据类型,在Go中,数组是值类型
3.结构体(struct)
4.管道(Channel)
5.函数(也是一种类型)
6.切片(slice)
(1) 切片是一个数组的引用,因此切片是引用类型,在进行传递时,遵守引用传递的机制。
(2) 切片的使用和数组类似,遍历切片、访问切片的元素和求切片长度len(slice)都一样
(3)切片的长度是可以变化的,因此切片是一个可以动态变化的数组。
7.接口(interface)
8.map