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 src = "http://www.google.com/uds/solutions/dynamicfeed/gfdynamicfeedcontrol.js" type = "text/javascript" > < / script >
< script type = "text/javascript" >
function loadFeedControl() {
var feed = "http://blog.golang.org/feeds/posts/default"
var fg = new GFdynamicFeedControl(feed, "feedControl", {
numResults: 5,
displayTime: 5000
});
}
google.load("feeds", "1");
google.setOnLoadCallback(loadFeedControl);
< / 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 >
< div id = "feedControl" > Loading...< / div >
< / 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 >