1.简介

image.png

image.png

image.png

image.png

image.png

image.png

进入预习。
go标准库文档

目标

? 开源书籍

书籍名 地址 推荐理由
Go 指南 https://tour.go-zh.org/ 初学者熟悉 Go 语法的 palyground,无须搭建本地 Go 的环境,在线就编写 Go 的代码
Go实战开发 https://github.com/astaxie/go-best-practice 这本书还没有完成,但是基础的基本都讲完了,这个书的作者就是著名的 Go 开源项目 beego 的作者 @astaxie,他的最佳实践非常值得阅读
Go Web 编程 https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/preface.md
gitbooks地址 这个本的作者也是上本书的作者 @astaxie,从开发环境搭建到构建一个 Web 应用,讲解的都非常详细,@astaxie 的这两本书非常值得深度学习和阅读,本书已经完全写完了
GO 命令教程 https://github.com/hyper0x/go_command_tutorial 《Go并发编程实战》作者郝林书中的示例
Go入门指南 https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/directory.md 这本书也非常适合初学者,不过看了上面几本书以后,看这本书,前面一些基础内容都可以很快的刷过去了,这本书可以主要看高级编程和实际应用这两大部分
Go语言圣经 http://docs.ruanjiadeng.com/gopl-zh/index.html 这本书是 Go 语言著名书籍《The Go Programming Language》的中文翻译版,如果觉得翻译的书不好,可以直接去看原著
Go by Example https://gobyexample.com/ 推荐这个网站的原因是这里有好多值得初学者学习的例子,这里可以作为初学者“抄”(学习)代码的地方
Go-SCP https://checkmarx.gitbooks.io/go-scp/content/ 这本书是关于 Go 安全相关的,本人还没有读过,为何放在这里?因为是我老大推荐的?

? 编译器

1. Vim党

Vim党当然是不需要 IDE 的,直接 Vim + Vim-go(或者 Emacs)

2. 文本编辑器 + 插件

目前最常用最火的文本编辑器有 VSCode、Sublime、Atom

他们都可以安装相应的插件,就可以支持 Go 的编码了。我暂时用的是 Atom + go-plus,界面还比较美,如下图:

![1194012-c8ef6559f11c0533.png](https://upload-images.jianshu.io/upload_images/7898366-a752ef1e83982b7f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

3. IDE

目前用的比较多的 IDE 有:IntelliJ idea、Goland、LiteIDE。

1194012-c8ef6559f11c0533.png

? 学习网站

网站名 地址 推荐理由
The Go Programming Language https://golang.org/ Go 的官方网站
Go 编程语言 https://go-zh.org/ Go 官网对应的中文网站
The Go Blog https://blog.golang.org/ Go 的官方博客
The Go Packages https://golang.org/pkg/ Go 的包官方文档
Go 标准库中文文档 http://cngolib.com/ Go 标准库中文文档

? 视频

这个也看个人吧,有些人不喜欢看文档,或者有时候文档看累了看会视频。下面这些视频本人看过开头的,觉得讲的还可以,不过后面的我没有继续看下去了,因为觉得看视频学习有点慢,我还是选择看刷书刷题啦~?

网站名 地址 推荐理由
Go 编程基础 https://github.com/Unknwon/go-fundamental-programming 这套视频适合初学者
Go Web 基础 https://github.com/Unknwon/go-web-foundation 这是一套针对 Google 出品的 Go 语言的视频语音教程,主要面向完成《Go 编程基础》教程后希望进一步了解有关 Go Web 开发的学习者。
Go名库讲解 https://github.com/Unknwon/go-rock-libraries-showcases 这是一套针对 Google 出品的 Go 语言的第三方库进行评测讲解的集博客、示例与语音视频为一体的综合教程,适合完成学习完成《Go编程基础》教程的学习者。
Go语言第一课 慕课网上的课程 这个课程的录制者是郝林,如果你是他的粉丝,可能你就不想错过这个课程

?社区

Go语言社区(排名不分先后)
https://gocn.io
http://studygolang.com
http://www.golangtc.com
http://www.golangweb.com

最后,多多练习,多多实践 Go,只要功夫深,铁杵磨成针!

GitHub Repo:Halfrost-Field

Follow: halfrost · GitHub

Source: https://halfrost.com/new_gopher/

go编译器的四个阶段,可分为两类:

  • 前端:这个阶段从源代码进行分析,并生成一个抽象的源代码语法结构,称为AST。
  • 后端:第二个阶段将源代码的表示转换成机器码,并进行一系优化。
image.png
  • 在编译的第一阶段,对源代码进行标记(词法分析)、解析(语法分析),并为每个源文件构建语法树。
  • 构建 AST(抽象语法树) 的简单过程,还将包括内联等优化
  • SSA(静态单赋值)阶段进行优化:消除死代码,删除不使用的分支,替换一些常量表达式等等。Go 编译器现在将生成一个中间汇编代码。
  • 下一阶段将把机器码生成到二进制文件中。生成目标文件后,现在可以使用 go tool link 将其直接传递给链接器,二进制文件将最终就绪。

你可能感兴趣的:(1.简介)