数据结构
在上一章中,我们讨论了可以通过struct
关键字定义的组合类型,正则表达式,模式匹配,元组,runes
,字符串,unicode
和strings
包,之后我们开发了一个简单的key-value
存储。但是有时候编程语言提供的这些结构不适合一些特定的问题。有些时候我们需要自己创建的数据结构,以便以准确,专业的方式去存储,搜索,接收数据。因此,本章将介绍在Go中开发和使用众所周知的数据结构,包括二叉树,链表,散列表,堆栈和队列以及了解它们的优点。由于没有比图像更好地描述数据结构,因此本章将会看到许多图解!本章最后一部分将讨论随机数的生成,它将会帮你生成难以猜测的密码!下面是本章的内容概览:
- 图和节点
- 分析算法复杂度
- Go的二叉树
- Go的哈希表
- Go的链表
- Go的双端链表
- Go的队列
- Go的栈
- Go标准库
container
包提供的数据结构 - Go生成随机数
- 构建随机字符串用作难以破解的密码