温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

go语言标准库的包以及功能介绍

发布时间:2020-06-09 15:19:58 来源:亿速云 阅读:266 作者:元一 栏目:编程语言

标准库

Go语言的标准库覆盖网络、系统、加密、编码、图形等各个方面,可以直接使用标准库的 http 包进行 HTTP 协议的收发处理;网络库基于高性能的操作系统通信模型(Linux 的 epoll、Windows 的 IOCP);所有的加密、编码都内建支持,不需要再从第三方开发者处获取

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

像 fmt、os 等这样具有常用功能的内置包在 Go 语言中有 150 个以上,它们被称为标准库,大部分(一些底层的除外)内置于 Go 本身。完整列表可以在 Go Walker 查看。

unsafe: 包含了一些打破 Go 语言“类型安全”的命令,一般的程序中不会被使用,可用在 C/C++ 程序的调用中。

syscall-os-os/exec:os: 提供给我们一个平台无关性的操作系统功能接口,采用类Unix设计,隐藏了不同操作系统间差异,让不同的文件系统和操作系统对象表现一致。

os/exec: 提供我们运行外部操作系统命令和程序的方式。syscall: 底层的外部包,提供了操作系统底层调用的基本接口。

通过一个 Go 程序让Linux重启来体现它的能力。

package main
import (
	"syscall"
)

const LINUX_REBOOT_MAGIC1 uintptr = 0xfee1dead
const LINUX_REBOOT_MAGIC2 uintptr = 672274793
const LINUX_REBOOT_CMD_RESTART uintptr = 0x1234567

func main() {
	syscall.Syscall(syscall.SYS_REBOOT,
		LINUX_REBOOT_MAGIC1,
		LINUX_REBOOT_MAGIC2,
		LINUX_REBOOT_CMD_RESTART)
}

archive/tar 和 /zip-compress:压缩(解压缩)文件功能。

fmt-io-bufio-path/filepath-flag:

fmt: 提供了格式化输入输出功能。

io: 提供了基本输入输出功能,大多数是围绕系统功能的封装。

bufio: 缓冲输入输出功能的封装。

path/filepath: 用来操作在当前系统中的目标文件名路径。

flag: 对命令行参数的操作。  

strings-strconv-unicode-regexp-bytes:

strings: 提供对字符串的操作。

strconv: 提供将字符串转换为基础类型的功能。

unicode: 为 unicode 型的字符串提供特殊的功能。

regexp: 正则表达式功能。

bytes: 提供对字符型分片的操作。

index/suffixarray: 子字符串快速查询。

math-math/cmath-math/big-math/rand-sort:

math: 基本的数学函数。

math/cmath: 对复数的操作。

math/rand: 伪随机数生成。

sort: 为数组排序和自定义集合。

math/big: 大数的实现和计算。   

container-/list-ring-heap: 实现对集合的操作。

list: 双链表。

ring: 环形链表。

以上就是golang 哪些功能用标准库的详细内容,更多请关注亿速云其它相关文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI