内容简介:Go 语言是一门关于你如果看了前面的扩展阅读,便会知道编译一个编译性的语言需要编译(compile)和连接(linker)两个步骤。
Go 语言形态
Go 语言是一门 静态编译型 的语言,而不是动态解释型的。这样设计的原因是为了尽可能获得最佳的运行性能。并且 Go 语言的编译速度非常快,明显要快过其他同类的语言,比如 C 和 C++。
关于 编译型和解释型 语言的区别以及 动态和静态型 语言的区别查看这个链接: https://www.jianshu.com/p/2d1b03bf28dd
Go 语言编译器
你如果看了前面的扩展阅读,便会知道编译一个编译性的语言需要编译(compile)和连接(linker)两个步骤。
Go 语言的官方编译器被称为 gc ,包括编译 工具 5g 、6g 和 8g ,链接工具 5l 、6l 和 8l,以及文档查看工具 godoc(在Windows下分别是5g.exe、6l.exe等)。这些古怪的命名习惯源自于 Plan9 操作系统,例如用数字来表示处理器的架构( 5 代表 ARM,6 代表包括 Intel64 位处理器在内的 AMD64 架构,而 8 则代表Intel386)。幸好,我们不必担心如何挑选这些工具,因为Go语言提供了名字为 go 的高级构建工具,会帮我们处理编译和链接的事情。
比如:
$ go build $ go run
关于 Plan9 操作系统是什么,可以看这个链接: https://www.jianshu.com/p/aec92c1efea1
一些 Go 语言文档
官方文档
Go语言的官方网站是 golang.org ,包含了最新的Go语言文档。因为一些众所周知的原因,google 也开放了一个对于中国开发者的 Go 语言网站 golang.google.cn 。
网站里的 Packages 链接对Go标准库里的包做了详细的介绍,还提供了所有包的源码。Documents 链接有一些 Go 语言的教学和详细的语法规范。The Project 链接则是交代了 Go语言的历史以及如何为 Go 语言贡献力量。
此外, Go 语言官网还特地为读者准备了一个沙盒(Sandbox),你可以在这个沙盒中在线编写、编译以及运行Go小程序(有一些功能限制)。
构建本地 web 服务器查看官方文档
要在本地查看,需要运行 godoc 工具,运行时可以选择性提供一个端口。
$ godoc //这时地址会默认为 localhost:6060
或者
$ godoc -http=localhost:8000
吐槽:官方完全可以把这个命令简化成 godoc -http=8000
。而且,在终端运行完这条命令之后,完全没有任何提示。
当然在本地运行的 web 服务器是没有提供沙盒的功能的。
我们也可以在终端中使用 go doc
(中间有空格)命令来查看整个包或者包中某个特定功能的文档。例如
$ go doc image NewRGBA
会输出关于函数 image.NewRGBA() 的文档。
func NewRGBA(r Rectangle) *RGBA NewRGBA returns a new RGBA image with the given bounds.
执行 $ go doc image/png
命令会输出关于整个 image/png 包的文档。
package png // import "image/png" Package png implements a PNG image decoder and encoder. The PNG specification is at https://www.w3.org/TR/PNG/. func Decode(r io.Reader) (image.Image, error) func DecodeConfig(r io.Reader) (image.Config, error) func Encode(w io.Writer, m image.Image) error type CompressionLevel int const DefaultCompression CompressionLevel = 0 ... type Encoder struct{ ... } type EncoderBuffer encoder type EncoderBufferPool interface{ ... } type FormatError string type UnsupportedError string
以上所述就是小编给大家介绍的《开始 Golang 前的一些说明》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。