Go语言容器
变量在一定程度上能满足函数及代码要求。如果编写一些复杂算法、结构和逻辑,就需要更复杂的类型来实现。这类复杂类型一般情况下具有各种形式的存储和处理数据的功能,将它们称为“容器(container)”。
在很多语言里,容器是以标准库的方式提供,你可以随时查看这些标准库的代码,了解如何创建,删除,维护内存。
本章将以实用为目的,详细介绍数组、切片、映射,以及列表的增加、删除、修改和遍历的使用方法。本章既可以作为教程,也可以作为字典,以方便开发者日常的查询和应用。
其它语言中的容器
- C语言没有提供容器封装,开发者需要自己根据性能需求进行封装,或者使用第三方提供的容器。
- C++ 语言的容器通过标准库提供,如 vector 对应数组,list 对应双链表,map 对应映射等。
- C# 语言通过 .NET 框架提供,如 List 对应数组,LinkedList 对应双链表,Dictionary 对应映射。
- Lua 语言的 table 实现了数组和映射的功能,Lua 语言默认没有双链表支持。