blob: 5fd55385481a4791e2e0313bc53c6083823ce3e1 [file] [log] [blame]
<!-- 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>
<!-- begin blog post widget JS/styles -->
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
function loadFeed() {
var url = "http://blog.golang.org/feeds/posts/default";
var divId = "blogFeed";
var feed = new google.feeds.Feed(url);
feed.setNumEntries(8)
feed.load(function (result) {
var container = document.getElementById(divId)
if (result.error) {
container.innerHTML = "Error loading feed.";
return;
}
container.innerHTML = "";
var entries = result.feed.entries;
console.log(entries);
for (var i=0; i<entries.length; i++) {
var a = document.createElement("a");
a.setAttribute("href", entries[i].link);
a.appendChild(document.createTextNode(entries[i].title));
container.appendChild(a);
}
});
}
google.load("feeds", "1");
google.setOnLoadCallback(loadFeed);
</script>
<!-- end blog post widget JS/styles -->
<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>
<div id="fp-videos">
<h1>Go videos</h1>
<div class="video">
<a href="http://www.youtube.com/watch?v=jgVhBThJdXc"><img src="/doc/video-snap-io.jpg"></a>
<div class="title">"Go Programming"</div>
<div class="subtitle">Google I/O Tech Talk</div>
</div>
<div class="video">
<a href="http://www.youtube.com/watch?v=wwoWei-GAPo"><img src="/doc/video-snap-fastcompiles.jpg"></a>
<div class="title">"Fast Compiles"</div>
<div class="subtitle">Go Promotional Video</div>
</div>
<div class="video">
<a href="http://www.youtube.com/gocoding"><img src="/doc/video-snap-gocoding.jpg"></a>
<div class="title">Go Youtube Channel</div>
<div class="subtitle">Screencasts and more</div>
</div>
<a class="more" href="/doc/go_learning.html#videos_talks">More videos and talks.</a>
</div>
<div id="frontpage">
<div id="blog">
<h1>From the <a href="http://blog.golang.org">Go Blog</a>:</h1>
<div id="blogFeed">Loading...</div>
</div>
<p style="font-size: 1.5em; font-weight: bold;">Go is &hellip;</p>
<h3>&hellip; simple</h3>
<pre class="code">
package main
import "fmt"
func main() {
fmt.Printf("Hello, 世界\n")
}</pre>
<p>Go has a small, simple feature set, making it easy to learn.</p>
<h3>&hellip; 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>&hellip; 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&mdash;and say good-bye to stack overflows.
</p>
<h3>&hellip; 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>&hellip; 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>
<h3>&hellip; open source</h3>
<p>
<a href="/doc/install.html">Go for it</a>.
</p>
</div>