Go语言标准库有哪些

阅读 787 标签:go  

学习编程语言,早已不是学一点语法规则那么简单。现在更习惯称作选择 Ecosystem(生态圈),而这其中标准库的作用和分量尤为明显。

go语言的安装文件里包含了一些可以直接使用的包,即标准库。go语言的标准库(通常被称为语言自带的电池),提供了清晰的构建模块和公共接口,包含 I/O 操作、文本处理、图像、密码学、网络和分布式应用程序等,并支持许多标准化的文件格式和编解码协议。

在 Windows 下,标准库的位置在go语言根目录下的子目录 pkg\windows_amd64 中;在 Linux 下,标准库在go语言根目录下的子目录 pkg\linux_amd64 中(如果是安装的是 32 位,则在 linux_386 目录中)。一般情况下,标准包会存放在 $goROOT/pkg/$goOS_$goARCH/ 目录下。

go语言的编译器也是标准库的一部分,通过词法器扫描源码,使用语法树获得源码逻辑分支等。go语言的周边工具也是建立在这些标准库上。在标准库上可以完成几乎大部分的需求。

go语言的标准库以包的方式提供支持,下表列出了go语言标准库中常见的包及其功能。

go语言标准库常用的包及功能
go语言标准库包名功  能
bufio带缓冲的 I/O 操作
bytes实现字节操作
container封装堆、列表和环形列表等容器
crypto加密算法
database数据库驱动和接口
debug各种调试文件格式访问及调试功能
encoding常见算法如 JSON、XML、Base64 等
flag命令行解析
fmt格式化操作
gogo语言的词法、语法树、类型等。可通过这个包进行代码信息提取和修改
htmlHTML 转义及模板系统
image常见图形格式的访问及生成
io实现 I/O 原始访问接口及访问封装
math数学库
net网络库,支持 Socket、HTTP、邮件、RPC、SMTP 等
os操作系统平台不依赖平台操作封装
path兼容各操作系统的路径操作实用函数
plugingo 1.7 加入的插件系统。支持将代码编译为插件,按需加载
reflect语言反射支持。可以动态获得代码中的类型信息,获取和修改变量的值
regexp正则表达式封装
runtime运行时接口
sort排序接口
strings字符串转换、解析及实用函数
time时间接口
text文本模板及 Token 词法器


当然,优秀第三方资源也是语言生态圈的重要组成部分。近年来崛起的几门语言中,go 算是独树一帜,大批优秀作品频繁涌现,这也给我们学习 go 提供了很好的参照。

文章来源:网络 版权归原作者所有,如涉及知识产权问题,请权利人联系我们,我们将立即处理.
标签: go
专栏:   go语言教程
顾你木偶
文章 34 获得 0个赞 共 0个粉丝

推荐阅读 更多精彩内容

  • 学习编程语言,早已不是学一点语法规则那么简单。现在更习惯称作选择 Ecosystem(生态圈),而这其中标准库的作用和分量尤为明显。在Go语言的安装文件里包含了一些可以直接使用的包,即标准库。Go语言
    顾你木偶 顾你木偶 阅读 788 标签: go  
  • 根据 Go 开发团队和基本的算法测试,Go语言与C语言的性能差距大概在 10%~20% 之间。虽然没有官方的性能标准,但是与其它各个语言相比已经拥有非常出色的表现。时下流行的语言大都是运行在虚拟机上,
    顾你木偶 顾你木偶 阅读 698
  • 在早期 CPU 都是以单核的形式顺序执行机器指令。Go语言的祖先C语言正是这种顺序编程语言的代表。顺序编程语言中的顺序是指:所有的指令都是以串行的方式执行,在相同的时刻有且仅有一个 CPU 在顺序执行
    顾你木偶 顾你木偶 阅读 822 标签: go  
  • Go语言也称为 Golang,是由 Google 公司开发的一种静态强类型、编译型、并发型、并具有垃圾回收功能的编程语言。接下来从几个方面来具体介绍一下Go语言的特性。语法简单抛开语法样式不谈,单就类
    顾你木偶 顾你木偶 阅读 892 标签: go  
  • Go语言(或 Golang)起源于 2007 年,并在 2009 年正式对外发布。Go 是非常年轻的一门语言,它的主要目标是“兼具 Python等动态语言的开发速度和 C/C++等编译型语言的性能与安
    顾你木偶 顾你木偶 阅读 954 标签: go  
  • 1.介绍项目:完整的2.zookeeper:zkServer,使用过这在内部删除东西?不明白他想问啥?3.zookeeper的反压:4.DAG:DAGscheduler,taskscheduler,t
    上杉夏香 上杉夏香 阅读 566 标签: 大数据  hadoop  storm  
  • 1.hbase有什么特点,他的优缺点:海量存储,列式存储,高并发,稀疏(列的灵活性,列族中可以指定任意多的列,在列数据为空的情况下,是不会占用存储空间的),高可用(WAL解决高可用,瞬间写入量)2.单
    一生所爱の赫萝 一生所爱の赫萝 阅读 603 标签: 大数据  hadoop  
  • hadoop框架1.hdfs的读写基本不问,但是还是要知道2.mapjoin的原理3.hadoop的shuffle原理也没问,也要知道4.你在工作中的hadoop的小文件处理,结合项目进行说明5.ha
    九公里浅绿 九公里浅绿 阅读 680 标签: 大数据  hadoop  
  • 一面1.hive数据倾斜有哪几种?举例说明2.数据采集方式是什么?3.数仓是如何分层的?4.数据应用层对外使用的话,是通过什么方式去使用的?5.数据应用程序指标的设计过程是怎样的?6.能举例说下进行过
    田井中律 田井中律 阅读 563
  • 1.spark sql和hive sql的区别2.从原始数据层获取数据,数据丢失的情况有没有遇到过?3.kafka消息丢失,如何发现这些问题以及如何处理?4.项目中用到的kafka的topic,以及一
    田井中律 田井中律 阅读 531