(源自:https://golang.google.cn/doc/)
前言
Go编程语言是一个提高程序员工作效率的开源项目
Go富有表现力、简洁、简洁、高效。他让编写并发机制程序变得更加容易,能更好的适应多核CPU和联网设备,同时它新颖的类型体系能构建可伸缩和模块化的组件,Go 可以快速编译为机器代码,并且依然保留了便利的垃圾收集机制和运行期反射能力.总之,它是一种快速、静态类型的编译语言,但感觉又像是一种动态类型的解释语言,
开始
下载和安装Go说明
教程:入门
一个相当简短的HelloWorld入门教程,学习一点点关于Go代码,工具,包(package)以及模块(module)的知识
教程:创建模块
一个简短教程,介绍了关于 函数、错误处理、数组、映射、单元测试和编译
教程:使用Go和Gin开发RESTful API
介绍使用Go和gin web框架编写restful webAPI的基础知识
编写Web应用程序
构建一个简单的web应用程序
开发Module
开发和发布模块
您可以将相关package组织到module中,然后发布module供其他开发人员使用,本主题就讲述了如何开发和发布module
模块的发行和版本控制
当你正在开发供他人使用的module,你需要遵循一个工作流程以保证可靠性,一致性,,本主题就描述了使用工作流程的牛皮步骤
管理模块源码
您可以使用本章所描述的存储库约定, 以使你开发的module更便于给其他开发人员使用.
开发一个主版本更新器
对你的用户来说主版本更新是十分要命的,因为这可能引入新的module,并造成巨大破坏,在本章你能学到更多知识
发行一个module
当您创造了一个模板,并想让其他开发人员使用时,您可以发布该模块,使其在Go工具中可见。发布模块后,导入其包的开发人员将能够通过运行go-get等命令来产生对模块的依赖.
module版本号
module开发人员使用分部版本号机制来表示版本的稳定性和向后兼容性。对于每个新发行版,模块的版本号都会具体反映自上一版本以来模块更改
常见问题(FAQ)
回答一些关于Go的常见问题
参考
package文档
go标准库 文档
命令行文档
go工具 文档
语言特性
官宣的Go特性
Go module参考
Go依赖关系管理系统的详细参考手册
go.mod文件引用
go.mod文件中包含的指令的参考
go的内存模型
在特定条件下可以保证读取一个goroutine中的变量,以观察在不同goroutine中写入同一变量所产生的值。
发行版历史
Go发行版的所有摘要
漫步代码(Codewalks)
tours项目的目录:
1.First-Class 功能
2.使用马尔可夫链产生任意文本
3.使用Communicating共享内存
工具:
1.关于Go的命令行工具 ;我们为什么要写它,它是啥,它不是啥,它能干啥
2.使用GDB调试Go代码
3.数据竞争检测器-数据竞争检测器手册
4.Go汇编程序快速指南-Go使用的汇编程序简介
维基Wiki
Go Wiki 维护着关于Go语言、工具和相关资源的文章
看一看Learn页面可以找到更多go资源