Documentation文档
The Go programming language is an open source project to make programmers more productive.
go语言是一个开源项目,是程序员开发更有效率。
Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.
Installing Go 安装go语言
Getting Started 开始
Instructions for downloading and installing the Go compilers, tools, and libraries.
下载和安装go语言编译器、工具、库的说明
Learning Go 学习go语言
A Tour of Go 总览go语言
An interactive introduction to Go in three sections. The first section covers basic syntax and data structures; the second discusses methods and interfaces; and the third introduces Go's concurrency primitives. Each section concludes with a few exercises so you can practice what you've learned. You can take the tour online or install it locally with:
一个交互式的介绍go语言的三节。
第一部分介绍基本语法和数据结构;
第二, 讨论方法和接口;第三章介绍了 "go" 的并发基元。
每个部分的结论都是一些练习, 这样你就可以练习你学到的东西了。您可以联机访问或在本地安装该教程:
$ go get golang.org/x/tour/gotour
This will place the gotour
binary in your workspace's bin
directory.
这将在工作区的 bin 目录中放置 gotour 二进制文件。
How to write Go code 如何写go代码
Also available as a screencast, this doc explains how to use the go command to fetch, build, and install packages, commands, and run tests.
Editor plugins and IDEs 编辑器插件和 ide
A document that summarizes commonly used editor plugins and IDEs with Go support.
总结常用的编辑器插件和 ide 的文档。
Effective Go go语言高效
A document that gives tips for writing clear, idiomatic Go code. A must read for any new Go programmer. It augments the tour and the language specification, both of which should be read first.
惯用go语言代码给出写清楚的文档提示。A 必须为任何新的程序员阅读。它增强了旅游和语言规范, 这两者都应该首先阅读。
Diagnostics 诊断
Summarizes tools and methodologies to diagnose problems in Go programs.
总结一些工具和方法去诊断问题,在go语言项目中。
Frequently Asked Questions (FAQ)常见问题解答 (常见问题)
Answers to common questions about Go.常见问题解答关于go语言
The Go Wiki
A wiki maintained by the Go community.由 "go社区" 维护的 wiki。
More
See the Learn page at the Wiki for more Go learning resources.
References 引用
Package Documentation 包的文档
The documentation for the Go standard library. 这个文档是go语言标准库
Command Documentation 命令行文档
The documentation for the Go tools.这个文档是go语言工具
Language Specification 语言规范
The official Go Language specification. 官方规定的go语言规范
The Go Memory Model go语言内存模型
A document that specifies the conditions under which reads of a variable in one goroutine can be guaranteed to observe values produced by writes to the same variable in a different goroutine.
一个文档, 它指定一个 goroutine 中的变量读取的条件, 可以保证在不同的 goroutine 中观察对同一变量的写入所产生的值。
Release History 历史版本
A summary of the changes between Go releases.总结go语言在不同版本之间的变化
Articles 文章
The Go Blog go语言博客
The official blog of the Go project, featuring news and in-depth articles by the Go team and guests.
Codewalks
Guided tours of Go programs. go语言程序引导教程
- First-Class Functions in Go
- Generating arbitrary text: a Markov chain algorithm 生成任意文本: 马尔可夫链算法
- Share Memory by Communicating 通过通信共享内存
- Writing Web Applications - building a simple web application. 编写 web 应用程序-构建一个简单的 web 应用程序。
Language 语言
- JSON-RPC: a tale of interfaces
- Go's Declaration Syntax go语言声明语法
- Defer, Panic, and Recover 延迟、恐慌和覆盖
- Go Concurrency Patterns: Timing out, moving on GO并发模式: 超时, 继续前进
- Go Slices: usage and internals GO语言切片: 使用和内部
- A GIF decoder: an exercise in Go interfaces 一个GIF解码器:go语言接口训练
- Error Handling and Go go语言错误处理
- Organizing Go code 组织go代码
Packages 包
- JSON and Go - using the json package. 使用json包
- Gobs of data - the design and use of the gob package. 设计和使用采集数据的包
- The Laws of Reflection - the fundamentals of the reflect package. 反射定律:反射包的基本原理
- The Go image package - the fundamentals of the image package. go图片包:图片包的基本原理
- The Go image/draw package - the fundamentals of the image/draw package. go图片/描绘包:图片/描绘包的基本原理
Tools 工具
- About the Go command - why we wrote it, what it is, what it's not, and how to use it.
- go命令行:为什么我们写它, 它是什么, 它不是什么, 以及如何使用它
- Debugging Go Code with GDB 使用GDB调试go代码
- Data Race Detector - a manual for the data race detector. 数据种类探测器:数据种类探测器手册
- A Quick Guide to Go's Assembler - an introduction to the assembler used by Go. 快速指南汇编程序:使用go语言的汇编器简介
- C? Go? Cgo! - linking against C code with cgo.
- Godoc: documenting Go code - writing good documentation for godoc. 编写良好的文档关于godoc
- Profiling Go Programs 分析go语言项目
- Introducing the Go Race Detector - an introduction to the race detector.
More 更多
See the Articles page at the Wiki for more Go articles.
Talks 演讲
A Video Tour of Go go语言教程视频
Three things that make Go fast, fun, and productive: interfaces, reflection, and concurrency. Builds a toy web crawler to demonstrate these.
go语言的接口,反射,并发,这三个特性使go语言更快,更有趣,更有效率。建立一个网络爬虫来演示。
Code that grows with grace 优雅的代码
One of Go's key design goals is code adaptability; that it should be easy to take a simple design and build upon it in a clean and natural way. In this talk Andrew Gerrand describes a simple "chat roulette" server that matches pairs of incoming TCP connections, and then use Go's concurrency mechanisms, interfaces, and standard library to extend it with a web interface and other features. While the function of the program changes dramatically, Go's flexibility preserves the original design as it grows.
go语言设计的关键目标是代码的合理性;它应该是很容易采取一个简单的设计,并建立在它的清洁和自然的方式。在这个演讲中 Andrew Gerrand描述了一个简单的相互聊天服务,使用了TCP连接,用了go语言并发机制,go语言接口和go语言标准库来扩展一个web接口和其他特性。虽然程序的功能发生了巨大的变化,go语言灵活性保留了原始设计的增长。
Go Concurrency Patterns go语言并发模式
Concurrency is the key to designing high performance network services. Go's concurrency primitives (goroutines and channels) provide a simple and efficient means of expressing concurrent execution. In this talk we see how tricky concurrency problems can be solved gracefully with simple Go code.
Advanced Go Concurrency Patterns 先进的go语言并发模式
This talk expands on the Go Concurrency Patterns talk to dive deeper into Go's concurrency primitives.
More 更多
See the Go Talks site and wiki page for more Go talks.
Non-English Documentation
See the NonEnglish page at the Wiki for localized documentation.