微信号:fed-talk

介绍:公众号开通于2016年,内容起于前端而不止于前端.

Go 标准库

2018-04-13 12:16 icepy

Go标准库之强大好用,用过的人都知道。在说标准库之前,可能要先说一下Go语言里“包”的概念,一个包代表了Go语言中代码组织的主要形式,因为Go对单文件没有限制,理论上你的代码,都可以写在一个文件中。今天我们要学习的标准库,其实也是一个具体的包(package)。


正常情况下,编写一个包,有最佳结构让你来学习,如:


/bin

/pkg

/src

xxmain.go

Makefile


如果想要构建一个程序,则包和包内的文件都必须以正确的顺序进行编译。包的依赖关系决定了其构建顺序。属于同一个包的源文件必须全部被一起编译,一个包即是编译时的一个单元,因此根据惯例,每个目录都只包含一个包。


如果是不同的平台,可能还需要这样:xx.go xx_linux.go xx_windows.go 类似这样的命名文件。


可见性规则


在文件的头部使用package xxx来定义包名,Go语言不像大家在写Node.js时,有明确的导出关键字,如export 等。当标识符(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,如:Group1,那么使用这种形式的标识符的对象就可以被外部包的 代码所使用(客户端程序需要先导入这个包),这被称为导出(像面向对象语言中的 public);标识符如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的(像面向对象语言中的 private )。


标准库


在 Go 的安装文件里包含了一些可以直接使用的包,即标准库。在 Windows 下,标准库的位置在 Go 根目录下的子目录 pkg\windows_386 中;在 Linux 下,标准库在 Go 根目录下的子目录 pkg\linux_amd64 中(如果是安装的是 32 位,则在 linux_386 目录中)。一般情况下,标准包会存放在 $GOROOT/pkg/$GOOS_$GOARCH/ 目录下。


Go标准库包含了大量包,提供了丰富广泛的功能特性。这里提供了概览仅仅是有选择性的且非常简单。本文发表后,标准库的内容还可能继续增加,因此 建议大家最好是通过在线查阅库API或使用godoc(包含在Go发布包中)来获取最新信息以及全面了解每个包所具备的功能。exp包(试验性的)是那些未来可能被加入标准库的包起步的地方,因此除非你想参加这些包的开发(通过测试、讨论、提交补丁),否则不应该使用其 下面的包。exp包通常只存在于从Google Go源码树上签出的源码包中,但一般不会包含在预构建好的包中。其他包可以放心使用,虽然在写下本文的这一刻,很多包依旧不够完整。


关于标准库的使用,没什么好说的,直接查阅文档吧:https://studygolang.com/pkgdoc




长按二维码关注公众号:

你也可以关注我的新浪微博,搜索i_icepy,很期待和大家交流

 
象尘说 更多文章 Go 如何调试你的应用程序 Go 函数也是一等公民 Go Echo Web Framework Go struct interface 离开,是为了将生活过成自己想要的样子
猜您喜欢 Android双卡识别IMSI以及副卡发送短信总结 贸易战前后记录9 你看那代码,好像一条链哎 探针安全测试有感-part2 直播丨如何征服Kaggle数据竞赛?