开始 Golang 前的一些说明

一例是春风 · · 1374 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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 前的一些说明

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1374 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传