第三章 基础数据类型

数据类型分类

基础类型

  • 数字
  • 字符串
  • 布尔型

复合类型

  • 数组
  • 结构体

引用类型

  • 指针
  • 切片
  • 字典
  • 函数
  • 通道

接口类型

3.1 整型

有符号整数类型

  • int、nt8、int16、int32、int64
  • 值域:-2^{n-1}2^{n-1}-1

无符号整数类型

  • uint、uint8、uint16、uint32、uint64
  • 值域:0到2^n-1

Unicode字符rune类型

  • = int32类型,表示一个Unicode码点

byte类型

  • = uint8类型,一般用于强调数值是一个原始的数据而不是一个小的整数

无符号整数类型 uintptr

  • 没有指定具体的bit大小但足以容纳指针
  • 底层编程时需要(如:与C语言函数库或操作系统交互)

运算符

按照优先级递减的顺序排序

操作符 备注
* 乘法
/ 除法
% 取模
<< 左移 ,该运算等价于乘以 2^n
>> 右移,该运算等价于除以 2^n
& 位运算 AND(与) 不区分有无符号
&^ 位清空(AND NOT)不区分有无符号
+ 加法
- 减法
| 位运算 OR(或) 不区分有无符号
^ 位运算 XOR(异或) 不区分有无符号
== 等于比较
!= 不等于比较
< 大于
<= 大于等于
> 小于
>= 小于等于
&& 逻辑运算“与”
|| 逻辑运算“或”

3.2 浮点数

float32

  • math.MaxFloat32 表示float32能表示的最大数值

float64

  • math.MaxFloat64表示float64能表示的最大数值

3.3 复数

complex64

  • 对应float32浮点数精度

complex128

  • 对应float64浮点数精度

内置函数

complex()

  • 用于构建复数

real()

  • 返回复数的实部

imag()

  • 返回复数的虚部(浮点数面值或十进制整数面值后面加一个i)

math/cmplx 包提供各种函数

3.4 布尔型

布尔类型的值:true、false

  • 布尔值不会隐式转换为数字值0或1

3.5 字符串

  • 字符串是一个不可改变的字节序列
  • 字符串的值是不可变的

字符串面值

  • 将一系列字节序列包含在双引号内
  • 原生的字符串面值形式:...

字符串和Byte切片

标准库中的包:

  • bytes
  • strings:提供字符串的查询、替换、比较、截断、拆分、合并等功能
  • strconv:提供布尔型、整数、浮点数和对应字符串的相互转化
  • unicode:提供IsDigit、IsLetter、IsUpper和IsLower等功能,用于给字符分类

字符串和数字的转换

  • 将整数转为字符串:
    • 1)用 fmt.Sprintf 返回一个格式化的字符串
    • 2)strconv.Itoa("")

3.6 常量

  • 常量表达式的值在编译期计算
  • 常量的值不可修改

itoa常量生成器

  • 用于生成一组以相似规则初始化的常量
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容