1. 布尔类型

  • 布尔类型用于表示真假,类型名为bool,只有两个值true和false,占用一个字节宽度,零值为false

    常用操作

    1)逻辑运算:
  1. 与(&&) 只有左、右表达式结果都为true,运算结果为true
  2. 或(||) 只要左、右表达式有一个为true,运算结果为true
  3. 非(!) 右表达式为true,运算结果为false;右表达式为false,运算结果为true

2) 关系运算

  1. 等于(==)
  2. 不等于(!=)

    2. 整型

    Go语言提供了5种有符号、5种无符号、1种指针、1种单字节、1种单个unicode字符(unicode码点),共13种整数类型,零值均为0.
    int, uint, rune, int8, int16, int32, int64, uint8, uint16, uint32, uint64, byte, uintptr

    3. 字面量

  3. 十进制表示法:以10为基数,采用0-9十个数字,逢10进位,例如:10

  4. 八进制表示法:以8为基数,采用0-7八个数字,逢8进位,使用0开头表示为八进制表示,例如:010
  5. 十六进制表示法:以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码点
  • %q:带单引号的字符

    6. 浮点型

  • 浮点数用于表示带小数的数字,Go提供float32和float64两种浮点类型

    字面量:

  • 十进制表示法:3.1415926

  • 科学记数法:1e-5

    浮点型-常用操作

    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函数根据数据类型申请内存空间并使用零值填充,并返回申请空间地址

    操作

    可通过*运算符+指针变量名来访问和修改对应存储位置的值

    指针的指针

    用来存储指针变量地址的变量叫做指针的指针