| <!-- The Go Programming Language --> |
| |
| <script> |
| // On the frontpage we hide the header and navigation elements that other |
| // pages have. |
| document.getElementById('generatedHeader').style.display = 'none'; |
| document.getElementById('nav').style.display = 'none'; |
| </script> |
| |
| <div id="gettingStarted"> |
| <h1>Getting started</h1> |
| |
| <ol> |
| <li> |
| <span><a href="/doc/install.html">Install Go</a>.</span> |
| </li> |
| |
| <li> |
| <span>Read the <a href="/doc/go_tutorial.html">tutorial</a>.</span> |
| </li> |
| |
| <li> |
| <span>Learn the <a href="/pkg">libraries</a>.</span> |
| </li> |
| </ol> |
| |
| <h1>Slow compiles?<br>Watch this.</h1> |
| <table> |
| <tr> |
| <td> |
| <a href="http://www.youtube.com/FIXME"><img src="/doc/video-snap.jpg"></a> |
| </td> |
| </tr> |
| <tr> |
| <td> |
| Programming with Go. <a href="http://www.youtube.com/FIXME">Watch now</a>. |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| <div id="frontpage"> |
| |
| <table style="padding-top: 1em; padding-bottom: 2em;"> |
| <tr> |
| <td> |
| <img style="padding-right: 1em;" src="/doc/go-logo-black.png"> |
| </td> |
| <td> |
| <div><span style="font-size: 2em; font-weight: bold;">a systems programming language</span><br><span style="font-size: 1.5em;">Expressive, concurrent, garbage-collected</span></div> |
| </td> |
| </tr> |
| </table> |
| |
| <p style="font-size: 1.5em; font-weight: bold;">Go is …</p> |
| |
| <h3>… simple</h3> |
| <pre class="code"> |
| package main |
| |
| import "fmt" |
| |
| func main() { |
| fmt.Printf("Hello, 世界\n") |
| }</pre> |
| |
| <h3>… fast</h3> |
| |
| <p> |
| Go compilers produce fast code fast. Typical builds take a fraction of a second yet the resulting programs run nearly as quickly as comparable C or C++ code. |
| </p> |
| |
| <h3>… safe</h3> |
| |
| <p>Go is type safe and memory safe. Go has pointers but no pointer arithmetic. |
| For random access, use slices, which know their limits.</p> |
| |
| <h3>… concurrent</h3> |
| |
| <p> |
| Go promotes writing systems and servers as sets of lightweight |
| communicating processes, called goroutines, with strong support from the language. |
| Run thousands of goroutines if you want—and say good-bye to stack overflows. |
| </p> |
| |
| <h3>… fun</h3> |
| |
| <p> |
| Go has fast builds, clean syntax, garbage collection, |
| methods for any type, and run-time reflection. |
| It feels like a dynamic language but has the speed and safety of a static language. |
| It's a joy to use. |
| </p> |
| |
| </p> |
| |
| </div> |
| |
| <!-- |
| |
| Commented out for now. We need to organise these resources. |
| |
| <h2>Other Resources</h2> |
| <ul> |
| <li>Mailing list: <a href="http://groups.google.com/group/NAME_TO_BE_DETERMINED">Go Nuts <nuts@XXX></a>. Please don't mail group members individually.</li> |
| <li><a href="http://code.google.com/p/go/source/browse/">Source code</a> |
| <li><a href="http://code.google.com/p/go/issues/list">Issue Tracker</a> |
| </li> |
| <br /> |
| <li>The Google Tech Talk from October 30, 2009: |
| <a href="/doc/go_talk-20091030.pdf" target="_top">PDF</a> |
| <a href="https://video.google.com/XXX" target="_top">Video</a> |
| </li> |
| <li>Go course: |
| <ul> |
| <li>PDF slides: |
| <a href="/doc/GoCourseDay1.pdf" target="_top">Day 1</a>, |
| <a href="/doc/GoCourseDay2.pdf" target="_top">Day 2</a>, |
| <a href="/doc/GoCourseDay3.pdf" target="_top">Day 3</a> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| --> |