mirror of
https://github.com/golang/go
synced 2024-11-05 17:46:16 -07:00
520d5db4d3
R=r CC=golang-dev https://golang.org/cl/1674045
164 lines
5.0 KiB
HTML
164 lines
5.0 KiB
HTML
<!-- title Go Resources -->
|
|
<!-- subtitle Go documents and learning materials -->
|
|
|
|
<h2 id="about">Recommendations</h2>
|
|
<p>
|
|
If you're new to Go, we recommend following the
|
|
<a href="go_tutorial.html">tutorial</a> while consulting the
|
|
<a href="go_spec.html">language spec</a>.
|
|
Then read <a href="effective_go.html">Effective Go</a>, as it addresses many
|
|
common beginner questions.
|
|
</p>
|
|
|
|
<h2 id="reference">Reference Materials</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="pkg"><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="tutorials">Tutorials</h2>
|
|
|
|
<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="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>
|
|
|
|
<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>
|
|
|
|
|
|
<h2 id="tutorials_nonenglish">Tutorials in languages other than English</h2>
|
|
|
|
<h3 id="tutorial_de"><a href="http://bitloeffel.de/DOC/golang/go_tutorial_20100613_de.html">Eine Anleitung zum Programmieren in Go</a></h3>
|
|
<p>
|
|
A German translation of the Go Tutorial.
|
|
</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_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>
|
|
|
|
<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>
|
|
|
|
<h2 id="dev">Development</h2>
|
|
|
|
<h3 id="contibute"><a href="contribute.html">Contributing to the Go project</a></h3>
|
|
<p>
|
|
How to contribute changes to the Go project.
|
|
</p>
|
|
|
|
<h3 id="roadmap"><a href="devel/roadmap.html">Roadmap</a></h3>
|
|
<p>
|
|
Features and ideas being developed or discussed by the Go team.
|
|
</p>
|
|
|
|
<h3 id="release"><a href="devel/release.html">Release History</a></h3>
|
|
<p>
|
|
A summarization of the changes between tagged releases of Go.
|
|
</p>
|
|
|
|
<h2 id="videos">Videos</h2>
|
|
|
|
<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>
|
|
</ul>
|
|
|
|
<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>
|
|
|
|
<h2 id="codewalks">Codewalks</h2>
|
|
|
|
<h3 id="codewalk_sharemem"><a href="codewalk/sharemem/">Share Memory By Communicating</a></h3>
|
|
<p>
|
|
A demonstration of the practical use of goroutines and channels.
|
|
</p>
|
|
|
|
<h3 id="codewalk_codewalk"><a href="codewalk/codewalk/">How to write a Codewalk</a></h3>
|
|
<p>
|
|
A self-describing Codewalk.
|
|
</p>
|
|
|
|
|
|
<h2 id="blogs">Blog Posts</h2>
|
|
<p>
|
|
Articles about Go from external blogs.
|
|
</p>
|
|
|
|
<h3 id="blog_rsc"><a href="http://research.swtch.com/search/label/Go">Go articles at research!rsc</a></h3>
|
|
<p>
|
|
Posts labelled 'Go' by Russ Cox, one of the core Go developers.
|
|
</p>
|
|
|
|
<h3 id="blog_iant"><a href="http://www.airs.com/blog/archives/category/programming">Programming articles at Airs</a></h3>
|
|
<p>
|
|
Posts labelled 'Programming' by Ian Lance Taylor, one of the core Go developers.
|
|
</p>
|