除了几乎所有语言都支持的简单内置类型(比如整型和浮点型等)外,Go语言也内置了一
些比较新的语言中内置的高级类型,比如C#和Java中的数组和字符串。除此之外,Go语言还内置
了一个对于其他静态类型语言通常用库方式支持的字典类型(map)。Go语言设计者对为什么内
置map这个问题的回答也颇为简单:既然绝大多数开发者都需要用到这个类型,为什么还非要每
个人都写一行import语句来包含一个库?这也是一个典型的实战派观点,与很多其他语言的学
院派气息迥然不同。
另外有一个新增的数据类型:数组切片(Slice)。我们可以认为数组切片是一种可动态增
长的数组。这几种数据结构基本上覆盖了绝大部分的应用场景。数组切片的功能与C++标准库中
的vector非常类似。Go语言在语言层面对数组切片的支持,相比C++开发者有效地消除了反复
写以下几行代码的工作量:
#include
#include
#include
using namespace std;
因为是语言内置特性,开发者根本不用费事去添加依赖的包,既可以少一些输入工作量,也
可以让代码看起来尽量简洁。
网友评论