mirror of
https://github.com/golang/go
synced 2024-11-13 17:10:21 -07:00
6ab8d24d72
R=r, rsc, gri CC=golang-dev, iant, ken2, lvd, nigeltao_golang, stephenm https://golang.org/cl/2182042
172 lines
6.1 KiB
HTML
172 lines
6.1 KiB
HTML
<!-- title Documentation -->
|
||
|
||
<div class="left-column">
|
||
|
||
<h2 id="learning">Learning Go</h2>
|
||
|
||
<p>
|
||
If you're new to Go, we recommend you work through the
|
||
<a href="go_tutorial.html">tutorial</a>. The
|
||
<a href="go_spec.html">language specfication</a> has all the details should
|
||
you want to explore.
|
||
</p>
|
||
<p>
|
||
Once you've learned a little about the language,
|
||
<a href="effective_go.html">Effective Go</a> will help you learn the style and
|
||
idioms of programming in Go.
|
||
</p>
|
||
|
||
<h3 id="orig_tutorial"><a href="go_tutorial.html">A Tutorial for the Go Programming Language</a></h3>
|
||
<p>
|
||
The first tutorial. An introductory text that touches upon several core
|
||
concepts: syntax, types, allocation, constants, I/O, sorting, printing,
|
||
goroutines, and channels.
|
||
</p>
|
||
|
||
<h3 id="effective_go"><a href="effective_go.html">Effective Go</a></h3>
|
||
<p>
|
||
A document that gives tips for writing clear, idiomatic Go code.
|
||
A must read for any new Go programmer. It augments the tutorial and
|
||
the language spec, both of which should be read first.
|
||
</p>
|
||
|
||
<h3 id="code"><a href="code.html">How to write Go code</a></h3>
|
||
<p>
|
||
How to write a new package and how to test code.
|
||
</p>
|
||
|
||
<h3 id="codelab_wiki"><a href="codelab/wiki/">Codelab: Writing Web Applications</a></h3>
|
||
<p>
|
||
This codelab takes the reader through the creation of a simple wiki web
|
||
application. It touches on structs, methods, file I/O, http, regular expressions,
|
||
and closures.
|
||
</p>
|
||
|
||
<h3 id="go_for_cpp_programmers"><a href="go_for_cpp_programmers.html">Go for C++ Programmers</a></h3>
|
||
<p>
|
||
An introduction to Go for C++ programmers.
|
||
</p>
|
||
|
||
<h2 id="faqs">Frequently Asked Questions</h2>
|
||
|
||
<h3 id="go_faq"><a href="go_faq.html">Go FAQ</a></h3>
|
||
<p>
|
||
Answers to common questions about Go.
|
||
</p>
|
||
|
||
<h3 id="go_programming_faq"><a href="go_programming_faq.html">Programming FAQ</a></h3>
|
||
<p>
|
||
Answers to common questions about programming with Go.
|
||
</p>
|
||
|
||
<h3 id="go_lang_faq"><a href="go_lang_faq.html">Language Design FAQ</a></h3>
|
||
<p>
|
||
Answers to common questions about the design decisions behind Go.
|
||
</p>
|
||
|
||
<h2 id="tutorials_nonenglish">Non-English Documentation</h2>
|
||
|
||
<h3 id="tutorial_de"><a href="http://bitloeffel.de/DOC/golang/go_tutorial_de.html">Eine Anleitung zum Programmieren in Go</a></h3>
|
||
<p>
|
||
A German translation of the Go Tutorial.
|
||
</p>
|
||
|
||
<h3 id="effective_de"><a href="http://bitloeffel.de/DOC/golang/effective_go_de.html">Wirkungsvoll Go programmieren</a></h3>
|
||
<p>
|
||
A German translation of the Effective Go document.
|
||
</p>
|
||
|
||
<h3 id="code_de"><a href="http://bitloeffel.de/DOC/golang/code_de.html">Wie man Go-Kode schreibt</a></h3>
|
||
<p>
|
||
A German translation of the How to Write Go Code document.
|
||
</p>
|
||
|
||
<h3 id="effective_cn"><a href="http://code.google.com/p/ac-me/downloads/detail?name=fango.pdf">Effective Go and Tutorial, a Chinese Translation</a></h3>
|
||
<p>
|
||
A Chinese translation of both the Effective Go and Go Tutorial documents.
|
||
</p>
|
||
|
||
</div>
|
||
|
||
|
||
<div class="right-column">
|
||
|
||
<h2 id="References">References</h2>
|
||
|
||
<p>Keep these under your pillow.</p>
|
||
|
||
<h3 id="pkg"><a href="/pkg/">Package Documentation</a></h3>
|
||
<p>
|
||
The built-in documentation for the Go standard library.
|
||
</p>
|
||
|
||
<h3 id="cmd"><a href="/cmd/">Command Documentation</a></h3>
|
||
<p>
|
||
The built-in documentation for the Go tools.
|
||
</p>
|
||
|
||
<h3 id="spec"><a href="go_spec.html">Language Specification</a></h3>
|
||
<p>
|
||
The official Go Language specification.
|
||
</p>
|
||
|
||
<h3 id="go_mem"><a href="go_mem.html">The Go Memory Model</a></h3>
|
||
<p>
|
||
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.
|
||
</p>
|
||
|
||
<h2 id="videos_talks">Videos and Talks</h2>
|
||
|
||
<h3 id="go_programming"><a href="http://www.youtube.com/watch?v=jgVhBThJdXc">Go Programming</a></h3>
|
||
<p>
|
||
A presentation delivered by Rob Pike and Russ Cox at Google I/O 2010. It
|
||
illustrates how programming in Go differs from other languages through a set of
|
||
examples demonstrating features particular to Go. These include concurrency,
|
||
embedded types, methods on any type, and program construction using interfaces.
|
||
</p>
|
||
|
||
<h3 id="techtalk"><a href="http://www.youtube.com/watch?v=rKnDgT73v8s">The Go Tech Talk</a></h3>
|
||
<p>
|
||
An hour-long talk delivered by Rob Pike at Google in October 2009.
|
||
The language's first public introduction. (See the <a href="talks/go_talk-20091030.pdf">slides in PDF format</a>.) The language has changed since it was made,
|
||
but it's still a good introduction.
|
||
</p>
|
||
|
||
<h3 id="gocoding_channel"><a href="http://www.youtube.com/gocoding">gocoding YouTube Channel</a></h3>
|
||
<p>
|
||
A YouTube channel that includes screencasts and other Go-related videos:
|
||
</p>
|
||
<ul>
|
||
<li><a href="http://www.youtube.com/gocoding#p/u/0/jDWBJOXs_iI">Screencast: Writing Go Packages</a> - writing, building, and distributing Go packages.</li>
|
||
<li><a href="http://www.youtube.com/watch?v=3brH0zOqm0w">Screencast: Testing Go Packages</a> - writing unit tests and benchmarking Go packages.</li>
|
||
</ul>
|
||
|
||
<h3 id="oscon_go"><a href="http://www.oscon.com/oscon2010/public/schedule/detail/14760">Another Go at Language Design</a></h3>
|
||
<p>
|
||
A tour, with some background, of the major features of Go, intended for
|
||
an audience new to the language. The talk was presented at OSCON 2010.
|
||
See the <a href="http://assets.en.oreilly.com/1/event/45/Another%20Go%20at%20Language%20Design%20Presentation.pdf">presentation slides</a>.
|
||
</p>
|
||
|
||
<h3 id="oscon_go"><a href="http://www.oscon.com/oscon2010/public/schedule/detail/15464">Go Emerging Languages Conference Talk</a></h3>
|
||
<p>
|
||
Rob Pike's Emerging Languages Conference presentation delivered in July 2010. See the <a href="http://assets.en.oreilly.com/1/event/45/Go%20Presentation.pdf">presentation slides</a>. Abstract:
|
||
</p>
|
||
<p><i>
|
||
Go’s approach to concurrency differs from that of many languages, even those
|
||
(such as Erlang) that make concurrency central, yet it has deep roots. The path
|
||
from Hoare’s 1978 paper to Go provides insight into how and why Go works as it
|
||
does.
|
||
</i></p>
|
||
|
||
<h3 id="promo_video"><a href="http://www.youtube.com/watch?v=wwoWei-GAPo">The Go Promo Video</a></h3>
|
||
<p>
|
||
A short promotional video featuring Russ Cox demonstrating Go's fast compiler.
|
||
</p>
|
||
|
||
</div>
|
||
|
||
<div class="end-columns"></div>
|