学习编程语言,早已不是学一点语法规则那么简单。现在更习惯称作选择 Ecosystem(生态圈),而这其中标准库的作用和分量尤为明显。
在Go语言的安装文件里包含了一些可以直接使用的包,即标准库。Go语言的标准库(通常被称为语言自带的电池),提供了清晰的构建模块和公共接口,包含 I/O 操作、文本处理、图像、密码学、网络和分布式应用程序等,并支持许多标准化的文件格式和编解码协议。
在 Windows 下,标准库的位置在Go语言根目录下的子目录 pkgwindows_amd64 中;在 Linux 下,标准库在Go语言根目录下的子目录 pkglinux_amd64 中(如果是安装的是 32 位,则在 linux_386 目录中)。一般情况下,标准包会存放在 $GOROOT/pkg/$GOOS_$GOARCH/ 目录下。
Go语言的编译器也是标准库的一部分,通过词法器扫描源码,使用语法树获得源码逻辑分支等。Go语言的周边工具也是建立在这些标准库上。在标准库上可以完成几乎大部分的需求。
Go语言的标准库以包的方式提供支持,下表列出了Go语言标准库中常见的包及其功能。
| Go语言标准库包名 | 功 能 | 
|---|---|
| bufio | 带缓冲的 I/O 操作 | 
| bytes | 实现字节操作 | 
| container | 封装堆、列表和环形列表等容器 | 
| crypto | 加密算法 | 
| database | 数据库驱动和接口 | 
| debug | 各种调试文件格式访问及调试功能 | 
| encoding | 常见算法如 JSON、XML、Base64 等 | 
| flag | 命令行解析 | 
| fmt | 格式化操作 | 
| go | Go语言的词法、语法树、类型等。可通过这个包进行代码信息提取和修改 | 
| html | HTML 转义及模板系统 | 
| image | 常见图形格式的访问及生成 | 
| io | 实现 I/O 原始访问接口及访问封装 | 
| math | 数学库 | 
| net | 网络库,支持 Socket、HTTP、邮件、RPC、SMTP 等 | 
| os | 操作系统平台不依赖平台操作封装 | 
| path | 兼容各操作系统的路径操作实用函数 | 
| plugin | Go 1.7 加入的插件系统。支持将代码编译为插件,按需加载 | 
| reflect | 语言反射支持。可以动态获得代码中的类型信息,获取和修改变量的值 | 
| regexp | 正则表达式封装 | 
| runtime | 运行时接口 | 
| sort | 排序接口 | 
| strings | 字符串转换、解析及实用函数 | 
| time | 时间接口 | 
| text | 文本模板及 Token 词法器 | 
当然,优秀第三方资源也是语言生态圈的重要组成部分。近年来崛起的几门语言中,Go 算是独树一帜,大批优秀作品频繁涌现,这也给我们学习 Go 提供了很好的参照。
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
    





















请登录后发表评论
注册
社交帐号登录