2009-10-22 01:13:36 -06:00
<!-- The Go Programming Language -->
2009-11-03 20:59:45 -07:00
< 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 >
2010-03-19 18:42:57 -06:00
<!-- begin blog post widget JS/styles -->
2010-04-26 18:24:17 -06:00
< script src = "http://www.google.com/jsapi" type = "text/javascript" > < / script >
2010-03-19 18:42:57 -06:00
< script type = "text/javascript" >
2010-04-27 03:27:32 -06:00
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;
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);
}
2010-03-19 18:42:57 -06:00
});
}
google.load("feeds", "1");
2010-04-27 03:27:32 -06:00
google.setOnLoadCallback(loadFeed);
2010-03-19 18:42:57 -06:00
< / script >
<!-- end blog post widget JS/styles -->
2009-11-03 20:59:45 -07:00
< 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 >
2009-11-08 23:02:15 -07:00
< h1 > Slow compiles?< br > Watch this< / h1 >
< table width = "100%" >
2009-11-05 13:18:54 -07:00
< tr >
2009-11-07 13:11:28 -07:00
< td align = center width = "100%" >
2009-11-10 15:09:01 -07:00
< a href = "http://www.youtube.com/watch?v=wwoWei-GAPo" > < img src = "/doc/video-snap.jpg" > < / a >
2009-11-05 13:18:54 -07:00
< / td >
2009-11-05 14:39:00 -07:00
< / tr >
2009-11-05 13:18:54 -07:00
< / table >
2009-11-03 20:59:45 -07:00
< / div >
2010-03-19 18:42:57 -06:00
< div id = "blog" >
< h1 > From the < a href = "http://blog.golang.org" > Go Blog< / a > :< / h1 >
2010-04-27 03:27:32 -06:00
< div id = "blogFeed" > Loading...< / div >
2010-03-19 18:42:57 -06:00
< / div >
2009-11-03 20:59:45 -07:00
< div id = "frontpage" >
< table style = "padding-top: 1em; padding-bottom: 2em;" >
< tr >
< td >
2009-11-05 13:18:54 -07:00
< img style = "padding-right: 1em;" src = "/doc/go-logo-black.png" >
2009-11-03 20:59:45 -07:00
< / td >
< td >
2009-11-06 13:52:04 -07:00
< 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 >
2009-11-03 20:59:45 -07:00
< / 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() {
2009-11-05 14:39:00 -07:00
fmt.Printf("Hello, 世界\n")
2009-11-03 20:59:45 -07:00
}< / pre >
< h3 > … fast< / h3 >
2009-11-05 14:39:00 -07:00
< 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 >
2009-11-03 20:59:45 -07:00
< h3 > … safe< / h3 >
2009-11-05 14:39:00 -07:00
< 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 >
2009-11-03 20:59:45 -07:00
< h3 > … concurrent< / h3 >
2009-11-05 14:39:00 -07:00
< 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 >
2009-11-06 23:48:05 -07:00
< h3 > … open source< / h3 >
< p >
2009-11-08 23:02:15 -07:00
< a href = "/doc/install.html" > Go for it< / a > .
2009-11-06 23:48:05 -07:00
< / p >
2009-11-03 20:59:45 -07:00
< / div >