Go语言是谷歌2009发布的第二款开源编程语言。
Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。
因而一直想的是自己可以根据自己学习和使用Go语言编程的心得,写一本Go的书可以帮助想要学习Go语言的初学者快速入门开发和使用!
Golang的标准包有很多,但是很多人应该没有具体去看过的Golang标准包详细内容.
- archive
- bufio--bufio包实现了带缓存的I/O操作
- builtin-builtin包为Go的预声明标识符提供了文档
- bytes--bytes包实现了操作[]byte的常用函数
- compress
- container
- context--context包定义了上下文类型,它跨API边界和进程之间传送截止时间,取消信号和其他请求范围的值
- crypto--crypto包搜集了常用的密码(算法)常量.
- aes--aes包实现了AES加密算法.
- cipher--cipher包实现了多个标准的用于包装底层块加密算法的加密算法实现.
- des--des包实现了DES标准和TDEA算法.
- dsa--dsa包实现FIPS 186-3定义的数字签名算法.
- elliptic--elliptic包实现了几条覆盖素数有限域的标准椭圆曲线.
- hmac--hmac包实现了规定的HMAC加密哈希信息认证码.
- md5--md5包实现了MD5哈希算法.
- rand--rand包实现了用于加解密的更安全的随机数生成器.
- rc4--rc4包实现了RC4加密算法.
- rsa--rsa包实现了PKCS#1规定的RSA加密算法.
- sha1--sha1包实现了SHA1哈希算法,参见RFC 3174.
- sha256--sha256包实现了SHA224和SHA256哈希算法,参见FIPS 180-4
- sha512--sha512包实现了SHA384和SHA512哈希算法,参见FIPS 180-2
- subtle--package subtle实现了在加密代码中常用的功能,但需要仔细考虑才能正确使用
- tls--tls包实现了TLS 1.2,细节参见RFC 5246
- x509--x509包解析X.509编码的证书和密钥
- database
- debug
- encoding--encoding包定义了供其它包使用的可以将数据在字节水平和文本表示之间转换的接口
- ascii85--ascii85 包是对 ascii85 的数据编码的实现
- asn1--asn1包实现了DER编码的ASN.1数据结构的解析,参见ITU-T Rec X.690
- base32--base32包实现了RFC 4648规定的base32编码
- base64--base64实现了RFC 4648规定的base64编码
- binary--binary包实现了简单的数字与字节序列的转换以及变长值的编解码
- csv--csv读写逗号分隔值(csv)的文件
- gob--gob包管理gob流——在编码器(发送器)和解码器(接受器)之间交换的binary值
- hex--hex包实现了16进制字符表示的编解码
- json--json包实现了json对象的编解码,参见RFC 4627
- pem--pem包实现了PEM数据编码(源自保密增强邮件协议)
- xml--xml包实现了一个简单的XML 1.0解析器,它可以理解XML名称空间
- errors--error包实现了用于错误处理的函数
- expvar--expvar包提供了公共变量的标准接口,如服务的操作计数器
- flag--flag 包实现命令行标签解析
- fmt--fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf
- go
- ast--ast包声明了用于展示Go包中的语法树类型
- build--build包提供了构建Go包的工具
- constant--constant包实现表示无类型Go常量及其相应操作的值
- doc--doc包从Go AST中提取源代码文档
- format--format包实现Go源的标准格式
- importer--importer包提供对导出数据导入程序的访问
- parser--parser包为Go源文件实现解析器
- printer--printer包实现AST节点的打印
- scanner--scanner包为Go源文本实现扫描程序
- token--token包表示Go语言的词法标记的常量和标记的基本操作
- types--types包声明数据类型并实现Go包类型检查的算法
- hash--hash包提供hash函数的接口
- html--html包提供了用于转义和解转义HTML文本的函数
- image--image实现了基本的2D图片库
- index
- io--io包为I/O原语提供了基础的接口
- log--log包实现了简单的日志服务
- math
- mime--mime实现了MIME的部分规定
- net--net包提供了可移植的网络I/O接口,包括TCP/IP、UDP、域名解析和Unix域socket
- http--http包提供了HTTP客户端和服务端的实现
- cgi--cgi包实现了RFC3875协议描述的CGI(公共网关接口)
- cookiejar--cookiejar包实现了保管在内存中的符合RFC6265标准的http.CookieJar接口
- fcgi--fcgi包实现了FastCGI协议
- httptest--httptest包提供HTTP测试的单元工具
- httptrace--httptrace包提供了跟踪HTTP客户端请求中的事件的机制
- httputil--httputil包提供了HTTP公用函数,是对net/http包的更常见函数的补充
- pprof--pprof包通过提供HTTP服务返回runtime的统计数据,这个数据是以pprof可视化工具规定的返回格式返回的
- mail--mail包实现了解析邮件消息的功能
- rpc--rpc包提供了一个方法来通过网络或者其他的I/O连接进入对象的外部方法
- smtp--smtp包实现了简单邮件传输协议(SMTP),参见RFC 5321
- textproto--textproto实现了对基于文本的请求/回复协议的一般性支持,包括HTTP、NNTP和SMTP
- url--url包解析URL并实现了查询的逸码,参见RFC 3986
- http--http包提供了HTTP客户端和服务端的实现
- os--os包提供了操作系统函数的不依赖平台的接口
- path--path包实现了对斜杠分隔的路径的实用操作函数
- plugin--plugin包实现了Go插件的加载和符号解析
- reflect--reflect包实现了运行时反射,允许程序操作任意类型的对象
- regexp--regexp包实现了正则表达式搜索
- runtime--runtime包含与Go的运行时系统进行交互的操作,例如用于控制Go程的函数
- sort--sort包为切片及用户定义的集合的排序操作提供了原语
- strconv--strconv包实现了基本数据类型和其字符串表示的相互转换
- strings--strings包完成对字符串的主要操作
- sync--sync包提供了互斥锁这类的基本的同步原语
- syscall--syscall包含低级操作系统原语的接口
- testing--testing包为Go的自动测试提供支持
- text
- time--time包提供了时间的显示和测量用的函数
- unicode--unicode 包提供了一些测试Unicode码点属性的数据和函数
- unsafe--unsafe包含有关于Go程序类型安全的所有操作