1. 布尔类型
- 与(&&) 只有左、右表达式结果都为true,运算结果为true
- 或(||) 只要左、右表达式有一个为true,运算结果为true
- 非(!) 右表达式为true,运算结果为false;右表达式为false,运算结果为true
2) 关系运算
- 等于(==)
-
2. 整型
Go语言提供了5种有符号、5种无符号、1种指针、1种单字节、1种单个unicode字符(unicode码点),共13种整数类型,零值均为0.
int, uint, rune, int8, int16, int32, int64, uint8, uint16, uint32, uint64, byte, uintptr3. 字面量
十进制表示法:以10为基数,采用0-9十个数字,逢10进位,例如:10
- 八进制表示法:以8为基数,采用0-7八个数字,逢8进位,使用0开头表示为八进制表示,例如:010
- 十六进制表示法:以16为基数,采用0-9十个数字和A-F六个字母,逢16进位,使用0X开头表示为十六进制 ,例如:0X10
4. 字面量-常用操作
a)算术运算符:+、-、*、/、%、++、--
注意:针对/除数不能为0,且结果依然 为整数
b) 关系运算符:>、>=、<、<=、==、!=
c) 位运算符:&、|、^、<<、>>、&^
对于负整数在计算机中使用补码进行表示,对应正整数二进制表示取反+1,针对左、右移的右操作数必须为无符号整型
d) 赋值运算符:=、+=、-=、*=、/=、%=、&=、|=、^=、<<=、>>=
e) 类型转换:Go不会对自动对数据类型转换,因此左、右操作数类型必须一致或某个字面量,可通过类型名(数据)的语法将数据转换为对应类型。需要注意值截断和值溢出问题5. 格式化输出
- 使用fmt.Printf进行格式化参数输出,占位符:
- %b:二进制
- %c:字符
- %d:十进制
- %+d表示对正整数带+符号
- %nd表示最小占位n个宽度且右对齐
- %-nd表示最小占位n个宽度且左对齐
- %0nd表示最小占位n个宽度且右对齐,空字符使用0填充
- %o:八进制,%#o带0的前缀
- %x、%X:十六进制,%#x(%#X)带0x(0X)的前缀
- %U: Unicode码点,%#U带字符的Unicode码点
-
6. 浮点型
浮点数用于表示带小数的数字,Go提供float32和float64两种浮点类型
字面量:
十进制表示法:3.1415926
-
浮点型-常用操作
a) 算术运算符:
+、-、*、/、++、--
注意:针对/除数不能为0
b) 关系运算符:>、>=、<、<=
浮点型不能进行==或!=比较,可选择使用两个浮点数的差在一定区间内则认为相等
c) 赋值运算符:=、+=、-=、*=、/=
d) 类型转换:Go不会对自动对数据类型转换,因此左、右操作数类型必须一致或某个字面量,可通过类型名(数据)的语法将数据转换为对应类型。需要注意值截断和值溢出问题浮点型-格式化输出
使用fmt.Printf进行格式化参数输出,占位符:
%f、%F:十进制表示法
- %n.mf表示最小占n个宽度并且保留m位小数
- %e、%E:科学记数法表示
%g、%G:自动选择最紧凑的表示方法%e(%E)或%f(%F)
7. 字面量
可解析字符串:通过双引号(“)来创建,不能包含多行,支持特殊字符转义序列
原生字符串:通过反引号(`)来创建,可包含多行,不支持特殊字符转义序列
8. 特殊字符
\:反斜线
\’:单引号
\”:双引号
\a:响铃
\b:退格
\f:换页
\n:换行
\r:回车
\t:制表符
\v:垂直制表符
\ooo:3个8位数字给定的八进制码点的Unicode字符(不能超过\377)
\uhhhh:4个16位数字给定的十六进制码点的Unicode字符
\Uhhhhhhhh:8个32位数字给定的十六进制码点的Unicode字符
\xhh:2个8位数字给定的十六进制码点的Unicode字符9. 常用操作
字符串连接:
+
- 关系运算符:
>、>=、<、<=、==、!=
- 赋值运算符:
+=
- 索引:
s[index]
,针对只包含ascii字符的字符串 - 切片:
s[start:end]
,针对只包含ascii字符的字符串10.枚举类型
常使用iota生成器用于初始化一系列相同规则的常量,批量声明常量的第一个常量使用iota进行赋值,此时iota被重置为0,其他常量省略类型和赋值,在每初始化一个常量则加1。11.指针类型
指针声明需要指定存储地址中对应数据的类型,并使用*作为类型前缀。指针变量声明后会被初始化为nil,表示空指针初始化
a) 使用&运算符+变量初始化:&运算获取变量的存储位置来初始化指针变量
b) 使用new函数初始化:new函数根据数据类型申请内存空间并使用零值填充,并返回申请空间地址操作
可通过*运算符+指针变量名来访问和修改对应存储位置的值指针的指针
用来存储指针变量地址的变量叫做指针的指针