From 6ab8d24d728dff360c5a91f89ff2a2500bae362a Mon Sep 17 00:00:00 2001 From: Andrew Gerrand Date: Thu, 16 Sep 2010 14:01:02 +1000 Subject: [PATCH] golang.org redesign R=r, rsc, gri CC=golang-dev, iant, ken2, lvd, nigeltao_golang, stephenm https://golang.org/cl/2182042 --- doc/all.css | 151 ++++++++++++++ doc/button_background.png | Bin 0 -> 126 bytes doc/community.html | 53 +++++ doc/contrib.html | 45 ++++ doc/contribute.html | 2 +- doc/{go_learning.html => docs.html} | 136 +++++------- doc/frontpage.css | 125 +++++++++++ doc/go_faq.html | 4 + doc/go_lang_faq.html | 4 + doc/go_programming_faq.html | 4 + doc/godocs.js | 23 ++- doc/ie.css | 1 + doc/install.html | 69 ++++++- doc/logo.png | Bin 0 -> 1938 bytes doc/play_overlay.png | Bin 0 -> 1703 bytes doc/playground.html | 27 +++ doc/root.html | 202 ++++++++---------- doc/style.css | 308 ---------------------------- doc/video-001.png | Bin 0 -> 29228 bytes doc/video-002.png | Bin 0 -> 22027 bytes doc/video-003.png | Bin 0 -> 11189 bytes doc/video-snap-fastcompiles.jpg | Bin 3604 -> 0 bytes doc/video-snap-gocoding.jpg | Bin 4303 -> 0 bytes doc/video-snap-io.jpg | Bin 6136 -> 0 bytes doc/video-snap-oscon.jpg | Bin 6268 -> 0 bytes lib/godoc/godoc.html | 173 ++++------------ 26 files changed, 669 insertions(+), 658 deletions(-) create mode 100644 doc/all.css create mode 100644 doc/button_background.png create mode 100644 doc/community.html create mode 100644 doc/contrib.html rename doc/{go_learning.html => docs.html} (74%) create mode 100644 doc/frontpage.css create mode 100644 doc/ie.css create mode 100644 doc/logo.png create mode 100644 doc/play_overlay.png create mode 100644 doc/playground.html delete mode 100644 doc/style.css create mode 100644 doc/video-001.png create mode 100644 doc/video-002.png create mode 100644 doc/video-003.png delete mode 100644 doc/video-snap-fastcompiles.jpg delete mode 100644 doc/video-snap-gocoding.jpg delete mode 100644 doc/video-snap-io.jpg delete mode 100644 doc/video-snap-oscon.jpg diff --git a/doc/all.css b/doc/all.css new file mode 100644 index 0000000000..dc632ef973 --- /dev/null +++ b/doc/all.css @@ -0,0 +1,151 @@ +body { + font-family: "Bitstream Vera Sans", Verdana, sans-serif; + font-size: 81.25%; + line-height: 1.23em; + padding: 0; + margin: 1.23em; +} +a { + color: #04a; + text-decoration: none; +} +a:visited { + color: #04a; +} +a:hover { + color: #a40; + text-decoration: underline; +} +a:active { + color: #c00; +} +#container { + width: 76em; + margin: auto; +} +#topnav { + height: 55px; +} +#branding-logo { + width: 50%; + margin: 0; + padding: 0; + height: 55px; + background: url(/doc/logo.png) no-repeat; +} +#branding-logo a { + display: block; + width: 100%; + height: 55px; +} +#branding-logo span { + display: none; +} +#nav-main { + position: relative; + top: -60px; + width: 50%; + margin-left: 50%; + text-align: center; +} +#nav-main ul { + padding-left: 0; + margin-left: 0; + margin-bottom: 0.5em; +} +#nav-main li a { + display: inline; + display: inline-block; + padding: .46em .62em .38em .62em; +} +#nav-main li a:link, +#nav-main li a:visited { + color: #000; +} +#nav-main li { + display: inline; + display: inline-block; + background: #e6e6e6 url(/doc/button_background.png) repeat-x; + border: solid 1px #999; + margin-left: -1px; + text-shadow: #fff 0 1px 0; + box-shadow: 0 1px 1px #ccc; + -moz-box-shadow: 0 1px 1px #ccc; + -webkit-box-shadow: 0 1px 1px #ccc; +} +#nav-main li:first-child { + -moz-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; +} +#nav-main li:last-child { + -moz-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; +} +#nav-main .quickref { color: #444; } +#search { + width: 100px; + margin-left: 0.5em; +} +#search.inactive { + text-align: center; + color: #444; +} + +#content { + padding: 0; + position: relative; + margin-top: 1.5em; + margin-bottom: 1.5em; + border-top: solid 1px #aaa; + border-bottom: solid 1px #aaa; +} +#site-info { + position: relative; + text-align: center; +} +#site-info, #site-info a:link, #site-info a:visited { + color: #aaa; +} +#nav table { + width: 100%; +} + +#content h1 { + margin-bottom: -0em; + padding: 0; +} +#content h2 { + border-top: 1px solid #ddd; + background: #E2E7F0; + padding: 2px 5px 5px; + margin: 1.5em 0 0; +} +#content .subtitle { margin-top: 1em; display: block; } + +.navtop a { + font-weight: normal; font-size: 7pt; + float: right; color: #999; +} + +code, pre { font-size: 1.2em; } +pre { background: #F0F0F0; padding: 0.5em 1em; } +pre.ebnf, pre.grammar { background: #FFFFE0; } + +.detail { + padding: 0.25em 1em; + background: #F4F4F4; +} + +.left-column { + width: 48%; + float: left; +} +.right-column { + width: 48%; + float: right; +} +.end-columns { clear: both; } diff --git a/doc/button_background.png b/doc/button_background.png new file mode 100644 index 0000000000000000000000000000000000000000..86a3b3086abe8a6744c340310d7e0de1f0d64081 GIT binary patch literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrC!2~1|6(4c~DajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_d9MGBrSjv*DdlKy;uFaP-d{`#5!{{Qc9Y%J2qk&yRbW|3f+ X;-`5h`{VImpjrk`S3j3^P6 + +
+ +

The Go Community

+ +

Go Nuts Mailing List

+

The golang-nuts +mailing list is for general Go discussion.

+ +

Go Packages Dashboard

+

A list of the most popular goinstall'd +Go libraries.

+ +

Go Project Dashboard

+

A list of external Go projects including programs and libraries.

+ +

Go IRC Channel

+

#go-nuts on irc.freenode.net is the official Go IRC channel.

+ +

@go_nuts at Twitter

+

The Go project's official Twitter account.

+ +
+ +
+ +

Blogs

+ +

The Go Blog

+

+The Go project's official blog, maintained by the core Go developers. +

+ +

research!rsc

+

+Posts labelled 'Go' by Russ Cox, one of the core Go developers. +

+ +

Airs

+

+Posts labelled 'Programming' by Ian Lance Taylor, one of the core Go developers. +

+ +

nf.id.au

+

+Posts labelled 'Go' by Andrew Gerrand, one of the core Go developers. +

+ +
+ +
+ diff --git a/doc/contrib.html b/doc/contrib.html new file mode 100644 index 0000000000..121cc45dcd --- /dev/null +++ b/doc/contrib.html @@ -0,0 +1,45 @@ + + +
+ +

Resources for Developers

+ +

Issue Tracker

+

Having an issue with Go? Check the tracker to see if it's a known issue.

+

If your issue is not listed, please file a bug report.

+ +

Build Status

+

View the status of Go builds across the supported operating +systems and architectures.

+ +

Contribution Guidelines

+

So, you want to contribute code to the Go project? That's great!

+

The first step is to read these contributions guidelines for information on +design, testing, and our code review process.

+ +
+ +
+ +

The Go Project

+ +

Roadmap

+

Features and ideas being developed or discussed by the Go team.

+ +

Release History

+

A summarization of the changes between tagged releases of Go.

+ +

Developer Mailing List

+

The golang-dev +mailing list is for discussing and reviewing code for the Go project.

+

For general discussion of Go programming, see golang-nuts.

+ +

Checkins Mailing List

+

A mailing list that receives a message summarizing each checkin to the Go repository.

+ +
+ +
+ diff --git a/doc/contribute.html b/doc/contribute.html index 6814274bae..4758a0896b 100644 --- a/doc/contribute.html +++ b/doc/contribute.html @@ -1,4 +1,4 @@ - +

Introduction

diff --git a/doc/go_learning.html b/doc/docs.html similarity index 74% rename from doc/go_learning.html rename to doc/docs.html index 78a1ba94b0..ae27dd2de0 100644 --- a/doc/go_learning.html +++ b/doc/docs.html @@ -1,42 +1,21 @@ - - + + +
+ +

Learning Go

-

Recommendations

-If you're new to Go, we recommend following the -tutorial while consulting the -language spec. -Then read Effective Go, as it addresses many -common beginner questions. +If you're new to Go, we recommend you work through the +tutorial. The +language specfication has all the details should +you want to explore.

- -

Reference Materials

-

Keep these under your pillow.

- -

Package Documentation

-The built-in documentation for the Go standard library. +Once you've learned a little about the language, +Effective Go will help you learn the style and +idioms of programming in Go.

-

Command Documentation

-

-The built-in documentation for the Go tools. -

- -

Language Specification

-

-The official Go Language specification. -

- -

The Go Memory Model

-

-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. -

- -

Tutorials

-

A Tutorial for the Go Programming Language

The first tutorial. An introductory text that touches upon several core @@ -51,6 +30,11 @@ A must read for any new Go programmer. It augments the tutorial and the language spec, both of which should be read first.

+

How to write Go code

+

+How to write a new package and how to test code. +

+

Codelab: Writing Web Applications

This codelab takes the reader through the creation of a simple wiki web @@ -63,13 +47,24 @@ and closures. An introduction to Go for C++ programmers.

-

How to write Go code

+

Frequently Asked Questions

+ +

Go FAQ

-How to write a new package and how to test code. +Answers to common questions about Go.

+

Programming FAQ

+

+Answers to common questions about programming with Go. +

-

Documentation in languages other than English

+

Language Design FAQ

+

+Answers to common questions about the design decisions behind Go. +

+ +

Non-English Documentation

Eine Anleitung zum Programmieren in Go

@@ -86,39 +81,40 @@ A German translation of the Effective Go document. A German translation of the How to Write Go Code document.

- -

Frequently Asked Questions

- -

Go FAQ

+

Effective Go and Tutorial, a Chinese Translation

-Answers to common questions about Go. +A Chinese translation of both the Effective Go and Go Tutorial documents.

-

Language Design FAQ

+
+ + +
+ +

References

+ +

Keep these under your pillow.

+ +

Package Documentation

-Answers to common questions about the design decisions behind Go. +The built-in documentation for the Go standard library.

-

Programming FAQ

+

Command Documentation

-Answers to common questions about programming with Go. +The built-in documentation for the Go tools.

-

Development

- -

Contributing to the Go project

+

Language Specification

-How to contribute changes to the Go project. +The official Go Language specification.

-

Roadmap

+

The Go Memory Model

-Features and ideas being developed or discussed by the Go team. -

- -

Release History

-

-A summarization of the changes between tagged releases of Go. +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.

Videos and Talks

@@ -170,30 +166,6 @@ does. A short promotional video featuring Russ Cox demonstrating Go's fast compiler.

-

Codewalks

+
-

Share Memory By Communicating

-

-A demonstration of the practical use of goroutines and channels. -

- -

How to write a Codewalk

-

-A self-describing Codewalk. -

- - -

Blog Posts

-

-Articles about Go from external blogs. -

- -

Go articles at research!rsc

-

-Posts labelled 'Go' by Russ Cox, one of the core Go developers. -

- -

Programming articles at Airs

-

-Posts labelled 'Programming' by Ian Lance Taylor, one of the core Go developers. -

+
diff --git a/doc/frontpage.css b/doc/frontpage.css new file mode 100644 index 0000000000..bc29f48881 --- /dev/null +++ b/doc/frontpage.css @@ -0,0 +1,125 @@ +#content-introductory code { + font-family: "Bitstream Vera Sans Mono", "Andale Mono", monospace; +} +#content-introductory input, select, textarea { + font-family: "Bitstream Vera Sans", Verdana, sans-serif; + font-size: 1em; +} +span.keyword { + font-family: Cambria, Georgia, Times, "Times New Roman", serif; + font-size: 1.15em; + font-style: italic; +} +#content h3, #content h2 { + margin: 0; + font-size: 1em; + background: none; + border: none; + padding: 0; +} +#content .more { + color: #999; + font-weight: normal; +} +#frontpage h2#branding-tagline { + font-weight: normal; + font-style: italic; +} +#resources { + position: relative; + margin-top: 1em; +} +#resources h3 { + margin-top: 0; + margin-bottom: -.5em; + font-size: 1em; + font-weight: normal; +} +#resources-users { + float: left; + width: 48%; +} +#resources-contributors { + float: right; + width: 50%; +} +#resources ul { + padding-left: 2em; +} +#resources li { + margin-bottom: 0.5em; +} +#content-rotating { + height: 200px; +} +#content-videos { + float: left; + width: 170px; +} +#content-videos .thumbnail { + width: 150px; + height: 103px; + background-repeat: no-repeat; + border: none; +} +#content-videos .thumbnail._001 { + background: url(/doc/video-001.png); +} +#content-videos .thumbnail._002 { + background: url(/doc/video-002.png); +} +#content-videos .thumbnail._003 { + background: url(/doc/video-003.png); +} +#content-videos a.video { + display: inline-block; + width: 150px; + margin-right: .30em; + margin-top: 1.2em; +} +#content-videos a.video .caption { + display: block; + text-align: center; +} +#content-videos a.video .caption.title { + margin-top: .31em; + font-weight: bold; +} +#content-blog ul { + margin-top: 1em; + margin-left: 0; + padding-left: 0; +} +#content-blog li { + list-style: none; + margin-bottom: 1em; +} +#content-blog li a { + color: #999; + text-decoration: none; +} +#content-blog .date { + color: #999; + font-size: 0.8em; + display: inline-block; + margin-left: 0.5em; +} +#content-blog li a:link .title { + color: #04a; +} +#content-blog li a:visited .title { + color: #04a; +} +#content-blog li a:hover .title { + color: #a40; + text-decoration: underline; +} +#content-blog li a:active .title { + color: #c00; +} + +.navtop { + display: none !important; +} + +.unsupported { font-weight: bold; color: red; } diff --git a/doc/go_faq.html b/doc/go_faq.html index 4f11baa80e..5ca791c50e 100644 --- a/doc/go_faq.html +++ b/doc/go_faq.html @@ -1,5 +1,9 @@ +
+

Is your question not answered here? Try the Programming FAQ or the Language Design FAQ.

+
+

Origins

diff --git a/doc/go_lang_faq.html b/doc/go_lang_faq.html index b8deb15343..0eec50b005 100644 --- a/doc/go_lang_faq.html +++ b/doc/go_lang_faq.html @@ -1,5 +1,9 @@ +
+

Is your question not answered here? Try the Programming FAQ or the Go FAQ.

+
+

Origins

diff --git a/doc/go_programming_faq.html b/doc/go_programming_faq.html index 9ef5168253..736578ab5c 100644 --- a/doc/go_programming_faq.html +++ b/doc/go_programming_faq.html @@ -1,5 +1,9 @@ +
+

Is your question not answered here? Try the Go FAQ or the Language Design FAQ.

+
+

Pointers and Allocation

diff --git a/doc/godocs.js b/doc/godocs.js index b2fc1b357b..8b451547d6 100644 --- a/doc/godocs.js +++ b/doc/godocs.js @@ -11,17 +11,32 @@ /* We want to do some stuff on page load (after the HTML is rendered). So listen for that: */ -if (window.addEventListener){ - window.addEventListener('load', godocs_onload, false); -} else if (window.attachEvent){ - window.attachEvent('onload', godocs_onload); +function bindEvent(el, e, fn) { + if (el.addEventListener){ + el.addEventListener(e, fn, false); + } else if (el.attachEvent){ + el.attachEvent('on'+e, fn); + } } +bindEvent(window, 'load', godocs_onload); function godocs_onload() { + godocs_bindSearchEvents(); godocs_generateTOC(); godocs_addTopLinks(); } +function godocs_bindSearchEvents() { + var search = document.getElementById('search'); + function clearInactive() { + if (search.className == "inactive") { + search.value = ""; + search.className = ""; + } + } + bindEvent(search, 'focus', clearInactive); +} + /* Generates a table of contents: looks for h2 and h3 elements and generates * links. "Decorates" the element with id=="nav" with this table of contents. */ diff --git a/doc/ie.css b/doc/ie.css new file mode 100644 index 0000000000..bb89d54be2 --- /dev/null +++ b/doc/ie.css @@ -0,0 +1 @@ +#nav-main li { display: inline; } diff --git a/doc/install.html b/doc/install.html index 25be700d66..d184a7209b 100644 --- a/doc/install.html +++ b/doc/install.html @@ -1,4 +1,4 @@ - +

Introduction

@@ -8,6 +8,8 @@ This document explains how to check out the sources, build them on your own machine, and run them.

+
+

There are two distinct ways to experiment with Go. This document focuses on the gc Go @@ -64,11 +66,20 @@ The full set of supported combinations is listed in the discussion of environment variables below.

+
+

Install C tools, if needed

-

The Go tool chain is written in C. To build it, you need -to have GCC, the standard C libraries, the parser generator Bison, -make, awk, and the text editor ed installed. +

The Go tool chain is written in C. +To build it, you need these programs installed: +

On OS X, they can be @@ -76,18 +87,28 @@ installed as part of Xcode.

-

On Linux, use sudo apt-get install bison ed gawk gcc libc6-dev make -(or the equivalent on your Linux distribution). +

On Ubuntu/Debian, use sudo apt-get install bison ed gawk gcc libc6-dev make. +

+ +

Install Mercurial, if needed

+ +

+To perform the next step you must have Mercurial installed. (Check that you have an hg command.) This suffices to install Mercurial most systems: +

+
+sudo easy_install mercurial
+
+(On Ubuntu/Debian, you might try apt-get install python-setuptools +python-dev build-essential first. The Mercurial in your distribution's +package repository will most likely be old and broken.) +

+

+If that fails, try installing manually from the Mercurial Download page.

Fetch the repository

-If you do not have Mercurial installed (you do not have an hg command), -sudo easy_install mercurial works on most systems. -(On Ubuntu/Debian, you might try apt-get install python-setuptools python-dev build-essential gcc first.) -If that fails, visit the Mercurial Download page.

-

Go will install to a directory named go. Change to the directory that will be its parent and make sure the go directory does not exist. @@ -129,8 +150,11 @@ and the details on the last few lines will reflect the operating system, architecture, and root directory used during the install.

+
+

For more information about ways to control the build, see the discussion of environment variables below.

+

Writing programs

@@ -195,6 +219,7 @@ command line. The linker learns about them by reading hello.6.

+

To build more complicated programs, you will probably want to use a @@ -208,6 +233,28 @@ about contributing to the Go project gives more detail about the process of building and testing Go programs.

+
+ +

What's next

+ +

+Start by reading the Go Tutorial. +

+ +

+Build a web application by following the Wiki +Codelab. +

+ +

+Read Effective Go to learn about writing +idiomatic Go code. +

+ +

+For the full story, consult Go's extensive +documentation. +

Keeping up with releases

diff --git a/doc/logo.png b/doc/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..076ce398eb3923cac96669ac6030f087087aac85 GIT binary patch literal 1938 zcmV;D2W|L?P)#0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUyFi=cXMepzLh=_@)sj4k4EoNqCPEJnD z%*@^0+~?=xx3{>Mn3}@E!PL~(cXxOI00960|JP%NIsgC$_(?=TRCwC#oY!LGDiA;! zdJ*vde|xDGNWx7{vhqa_yRm~{n8Q@rL4ICeb)l((33OinBcO}Yl!1~SVK7s@R|l%G zH+ta;8x21EIQ4sJpemRohBzbQ9tiV%nF_uz(1?=L-nqziURMQ*lQm)$|7FhE z0NALh->U*eR!JV_(#a;lQ5;<`O#NOIsDO|LVI@4qdDbQ6Lv|KL*95v~9UU&x2tl4u zXKy=A^qN31k0qxe#Cncpn6wzGS2NAMB2X<8Kk6Kf#V1z!)>4=zdO@Jr`V=uafdw;1 zHEvjosp5+Pl_0R!Wg6|A1KCiNc&hkXKot!sQB7_QWmKdFpr1bXqChQp2OdGlg(QYx zsf)HPL^C_|*8&RKlL%0STu6D%160$wS^Mlnj!YW=0MNxsWSWp^xfHl9R)ie^Y%ly2 zP|f04Vuyj5<=NQpL~iDuJFVC`bQz$*+uHUinbe&2UUtwfdL5`>&G5TGozoNOnL4z6 zVbo?yLotZ4PS~?9SCUZY#)%+4%eklGa8~{)_kB5_{BE%+^_^Vz1)ywfm|L5H-_+n2 z0)0@M0AT(cP#lb~yyk%)Y3CJg>)-@+n=u{GIAQo9E^VV1u6OIW2&%SR#vn^#>_vWk zGbHb;Ks?N-^NZ;DnP~k%CpZdH5zSkM9Z-m2f$_nX8P5kh+>+kQhq#q)v%pSIpXue^ zokgpACe;AVVKu#>awu#h)y|3SxnIZkKv`5um@pFOUXVPHpfz@r8;m@r1Yc4l$uD6Q zDCp1T7knLfo1+mN<;Bst9w0-ww&(?Y5-81{mEQs?YhbYr z&@e>qVsFiIAy25w$ydc|@^uWCa4}dn(^$Q&634J60qkR-L%Hu-xNuZ<{9&chH9Rg+Lclm}6s1+^g8*vi1T@8AT ze+NK`Uv+u|ikiiGppD>AK=9{)c3WnRxI>`*0tb3}8z>S+Qwt?N8h+41QubY-#O(qk zEjy{ZB=uCbdu}Vk3d`0>;x9!p*Bwwz(|Tut(z4hXD7TFd>9!1GpsRHK0tb3}1E^e# zwv468ZVA@5eV|~$z)u4uZ6ku82g>U#8=%!!p9RVu0fjCoG{}AeiKH)7=F85(!DoEkE@!Y%iY~0+|93~T@GCC9%$!sQN`Z_4Qh@j@;p#mCL96f zxnyBS7HUU8Tj}}*4)pXGsN^adWC9sDGDNl*jz_Gsk+rBV9f|jWmUaiMDcsru33sh+fzr!b@65>(fxMwSPNju9>G}os zdP4h1se)DJjE7Ne7CE%v{$7wD1e*6pHmMer$7gnJ{W0*5fY!O17dDL4?U>ksqevtx zJ_R(jH5gW{FKmG3#$oJCg(`Y;Cqx${N(qAUxV%s+-FAVko>1#wW3VKpH3reWqLC|B z5JnQ(7Ap$B*XsR~3)S-Fhc4SWj#nAwsp{LJl}eVHDQ3vW)32q5Y%JO8`Z#sW^Yc zH20DHS<~D#+TU3qAz8GN$GMRZ3parytII`_HW;y5cI-z$hr?oN!J@& z&Ml;epPqTN02+Yg1|a6SZZ%13Q{l1*fnKUx=C=xe)dlT3GCFmG+-i~324B29?m&!y z!u$@}UjkL6a-`O3F3{6BMqa?mspdZficH9I`70nF#889%{Nova2=qj{F-XU8`Cj+D zz5=M`%lvBoHG$%zZ}&oYQ_igDl0Xmsa+sWdW#Pg=mE97B`R&jv0}W2M?Y{^+liRBU z^%zwCO79ptlWRC^Y_zeLc(s{ZTeB0RW^%en7aLxe&Fmmz zkx|>ISNntx=FBCR!^U(F(W_Nr?r-Jn~6U^ZcHFzR&$oRDgk=nH~TD zFn|a8q1Bb8jzk?Tb)Fp*$EeE@s(%C(LrI`s#izsreBvmv@yFm~d}2I09v?@$B8_(k z0JPw6KcBE`icjUgCYgsH>VN0PB?K5shjZtu(sP z3eT{h&`fY$`0a}=4@QVS3>}}_&4~M^_Yq)g=dR7rf7%oqJ@97_<*%B5*hhDosGs-` zr(6u(vHG^y&*Q?bu2<5RD(FjZ{Y4_tUhmOU5(fap^o9Vy&{PX|3P8|M3#8u>0Z>Z< zgqZ%{HV3bp{MtPkmnOi9u+NfX8{-_tDhHpv5xx;2_y=SVrPbS)db!Vxx4l;QY5YGU z%hP`3Im-6)P57x0>~m(?VP$0FZ`FRp=8eeqj);lbbeAwe@8D@c76wTyx{Bp`kJw$Q zb^T3KW=3{vNVAuW;U44o)Kn-*n-o5?rmqNbtIGLFzDZ9dHl-1ppLYxfL{fx5vIQeO z9{lTkQ|!69Ks(MDyYN=3Aiv2M#mL*j(b2=8Jgz*Q#Q%fP z5{P(5mN|K_8JoFbQeRtUCdS>nWZzCZ|L_RwK_G$I(pgGGa33DIJIfs|<*jCNBn;jV z{tFMWf+?$rQE8mcwp>{Wy#lQjY#~)YF)bu1#g?h3;Df_v)9rWGG)WkfSc@@GL$@IT z*7Yh(dI&zE`dfK>Kn@{YXedl(!WKHi;6tX(`yedBWrI;HlXu9ixyV5}n#s6y?~!%< z4S~6L8-5FOG0vNIY_{wx^!re%W0&Vc$0Amhi6rIj+QPMh>X2KA2M?pTP1><_En2?4 zK!R;B8|G;`mllWHvX#*f$WQeET~09O0bAbCamJMnl#ATbCF)UN|A%1O3Iw~tckSs! zwykTCEyb64HrdB}Okw=b*aLUXLyQ^fhoLB%bTtOR(+IOLgbq%r%in^Pw>R z#^9V{T?yjro;5JcDE~yb*D=bBxG`s=WOp|EvwO%{>P0I%%C)3E;F5|O$ieZmpTYZt z1cCI%bB0D%@YKh0(s@JmHqCR9=((NN;yXYwYU10S59SRmaqx-9{HKR;rfkwwuo+1~ zO`o(_?9g}8+O!UrXzb)49ax@Ln=fVv^bA2t=Z1Wj;o0eA=yXqt?apyur&nbOrFC=P zo8Hfb62S08ey!Ikj25(ZloLg<3Ux9h*ydXh#E+zMR&DeW+IdSfx$Aj+FA_b!Nbk1$ z*4Ct6h%zaum_2UC7#7Uw(4qn15v} ztF6e(!;XlVcU~aI-xL@p^k)_oEED_Ds9qJ7+XPN`!0X3ZY3FS5c?rm{jc_O4Ei zP?fxSKUOIpM+dRa7;UoFbi2hjJ23paI!ASC%qCW9*lFc7WKL3>4aGA&tkY%W(^gc) zc*2G-#wx0!rhr5qS%uO#OVjo1y7ak|e8bC$` zMYdN#WSNSj9|?07;bp(86k&NuBAUhvLkZCFcH$YpE_5ZpUFfQTyvt-Ykaw93(*NJ> enG?Tgf&gFy>eqFMv%UKB0O0;8zov7zTmJ=^rzH6R literal 0 HcmV?d00001 diff --git a/doc/playground.html b/doc/playground.html new file mode 100644 index 0000000000..a1cdb70c37 --- /dev/null +++ b/doc/playground.html @@ -0,0 +1,27 @@ + + +
+

+The Go Playground is a web service that runs on +golang.org's servers. +The service receives a Go program, compiles, links, and runs the program inside +a sandbox, then returns the output. +

+ +

+There are limitations to the programs that can be run in the Playground. +They must be single-threaded (but they may use many goroutines). +There are also limits on execution time, and CPU and memory usage. +The Playground can access only a subset of the standard library +(notably absent are network and filesystem access). +Therefore, the only communication a Playground program has to the outside world +is via standard output. +

+ +
+ +
+ +
+ +
diff --git a/doc/root.html b/doc/root.html index 65869183cb..abfdc1dafa 100644 --- a/doc/root.html +++ b/doc/root.html @@ -1,125 +1,95 @@ - - - - - - - - - - - -
- - -
a systems programming language
expressive, concurrent, garbage-collected
-
- -
-

Go videos

-
- -
"Go Programming"
-
Google I/O Tech Talk
+ +
+
+

+ The Go programming language is an open source project to make + programmers more productive. Go is expressive, concise, clean, + and efficient. Its concurrency mechanisms make it easy to write + programs that get the most out of multicore and networked machines, + while its novel type system enables flexible and modular program + construction. Go compiles quickly to machine code yet has the + convenience of garbage collection and the power of run-time reflection. + It's a fast, statically typed, compiled language that feels like a + dynamically typed, interpreted language. +

+

Check it out!

+

+ Install Go now, or try it right here in your browser: [How does it work?]

+
+ +
+
+
+ +

Go Blog | More...

+
+
    +
+
+
+

Quick Links

+ +
+
-
- -
"Fast Compiles"
-
Go Promotional Video
-
-
- -
Go Youtube Channel
-
Screencasts and more
-
- More videos and talks. -
- -
- -
-

From the Go Blog:

-
Loading...
-
- -

Go is …

- -

… simple

-
-package main
-
-import "fmt"
-
-func main() {
-  fmt.Printf("Hello, 世界\n")
-}
- -

Go has a small, simple feature set, making it easy to learn.

- -

… fast

- -

-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. -

- -

… concurrent

- -

-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. -

- -

… safe

- -

Go is type safe and memory safe. Go has pointers but no pointer arithmetic. -For random access, use slices, which know their limits.

- -

… fun

- -

-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. -

- -

… open source

- -

-Go for it. -

- -
diff --git a/doc/style.css b/doc/style.css deleted file mode 100644 index 6829ff0a53..0000000000 --- a/doc/style.css +++ /dev/null @@ -1,308 +0,0 @@ -/* - Copyright 2009 The Go Authors. All rights reserved. - Use of this source code is governed by a BSD-style - license that can be found in the LICENSE file. -*/ - -/* ------------------------------------------------------------------------- */ -/* Styles meant to help page authors achieve beauty. */ - -a { - text-decoration: none; -} - -code, .code { - font-size: 100%; - font-family: monospace; - color: #0f398d; -} - -kbd { - font-size: 100%; - font-family: monospace; - font-weight: bold; -} - -pre.ebnf { - background-color: #ffffe9; -} - -pre.grammar { - background-color: #ffffe9; -} - -p.rule { - font-style: italic; -} - -span.event { - font-style: italic; -} - -span.alert { - color: #ff0000; -} - -body { - font: 13px Helvetica, Arial, sans-serif; - margin-bottom: 0px; -} - -h1 { - margin-top: 0; - padding-top: 0.75em; - margin-bottom: 0.75em; -} - -h2, h3, h4, h5, h6 { - font-family: Helvetica, Arial, sans-serif; - margin-bottom: 0.25em; -} - -h2 { - background-color: #e5ecf9; - margin-top: 2em; - border-top:1px solid #36C; - padding-left: 0.2em; -} - -pre { - font-size: 9pt; - background-color: #f8f8ff; - margin: 1em 0 0 0; - padding: .99em; - line-height: 125%; - overflow: auto; - word-wrap: break-word; -} - -li { - padding-bottom: 0.5em; -} - -li pre { - margin: 0.5em 0px 1em 0px; -} - -a:link { - color: #0f398d -} - -a:visited { - color: #0b2455 -} - -a:hover { - color: #0000ff -} - -/* ------------------------------------------------------------------------- */ -/* Styles used in the boilerplate-ish parts of pages. */ - -div#content { - margin-left: 20%; - padding: 0 1em 2em 1em; - margin-top: 0px; - margin-bottom: 0px; -/* - border-left: 2px solid #e5ecf9; - border-right: 2px solid #e5ecf9; - border-bottom: 2px solid #e5ecf9; -*/ -} - -#topnav { - margin: 0px; - padding-top: 0.2em; - width: 100%; - white-space: nowrap; - background-color: #ffffff; - border-bottom: 2px solid #36C; - font: bold 150% Helvetica, Arial, sans-serif; -} - -div#linkList { - margin-top: 1.5em; - padding-left: 0.5em; - font: 13px Helvetica, Arial, sans-serif; - float: left; - width: 18%; - background-color: #fffff0; - border: 2px solid #ba9836; -} - -div#linkList ul { - padding: 1px; - list-style-type: none; -} - -div#linkList li { - margin-left: 1em; - padding-bottom: 0.2em; -} - -div#linkList li.navhead { - font-weight: bold; - margin-left: 0px; - padding-bottom: 0.25em; -} - -#nav dl { - margin: 0 0.5em 0 0.5em; - padding: 0px; -} - -.navtop { - font-size: xx-small; - float: right; -} - -#footer { - margin: 2em 0 0 0; - text-align: center; - color: #555; - font-size: small; -} - -#footer p { - margin: 0px; -} - -#footer a { - color: #555; -} - -@media print { - div#linkList { - display: none; - } - .navtop { - display: none; - } - div#content { - margin-left: 0px; - border: none; - } -} - - -/* ------------------------------------------------------------------------- */ -/* Styles used by godoc */ - -table.layout { - border-width: 0px; - border-spacing: 0px; - padding: 0px; -} - -span.comment { - color: #0000a0; -} - -span.highlight { - font-weight: bold; - background-color: #ffffa0; -} - -span.subtitle { - font-weight: bold; - font-size: medium; -} - -/* same style as for gettingStarted */ -#menu { - margin-top: 1.5em; - margin-left: 1.75em; - margin-right: 0em; - float: right; - background-color: #fffff0; - padding-left: 1em; - padding-right: 1em; - padding-bottom: 0.75em; - border: 2px solid #ba9836; -} - -/* same color scheme as for gettingStarted */ -#content .popup { - position: absolute; - border: 1px solid #ba9836; - background-color: #fffff0; - margin-top: 3em; - padding: 3px; -} - -#content .identifier, -#content .type { - color: #008; -} - -/* ------------------------------------------------------------------------- */ -/* Styles for the frontpage */ - -#fp-videos { - margin-left: 1em; - margin-right: 0em; - float: right; - clear: right; - background-color: #fffff0; - padding-left: 1em; - padding-right: 1em; - padding-bottom: 0.75em; - border: 1px solid #ba9836; - width: 160px; -} - -#blog { margin-bottom: 1.5em; } -#blog h1 { font-size: 1.2em; padding-top: 0.7em; } -#blog #blogFeed a { display: block; margin-top: 1em; } - -#fp-videos h1 { - padding-top: 0.5em; - margin-bottom: 0.2em; - font-size: 1.2em; -} - -#fp-videos a img { - border: 1px solid blue; -} - -#fp-videos a.more { - text-align: center; - display: block; -} - -#frontpage { - width: 100%; -} - -#frontpage h3 { - margin-left: 3em; - font-size: 1.5em; - font-weight: normal; -} - -#blog { - float: right; - width: 160px; - background-color: ivory; - border: 1px solid #BA9836; - padding: 0 1em; - margin-left: 1em; - margin-bottom: 1em; -} -#blogFeed { - padding-bottom: 1em; -} - -.video { - padding: 5px 0; - text-align: center; -} -.video img { - margin-bottom: 5px; -} -.video .title { - font-weight: bold; -} -.video .title { -} diff --git a/doc/video-001.png b/doc/video-001.png new file mode 100644 index 0000000000000000000000000000000000000000..d3468bbe8fc346b0dca8559a6702d06f34b59bce GIT binary patch literal 29228 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 T5A$Y}00000NkvXXu0mjf=&L0^ literal 0 HcmV?d00001 diff --git a/doc/video-002.png b/doc/video-002.png new file mode 100644 index 0000000000000000000000000000000000000000..4f7c5d1849970925d48ee3710f3a9391b5994c3f GIT binary patch literal 22027 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 z

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 m_Yb8CO}*pI$1g}+FsIYM@ghY1Ex%~$4 literal 0 HcmV?d00001 diff --git a/doc/video-snap-fastcompiles.jpg b/doc/video-snap-fastcompiles.jpg deleted file mode 100644 index 94596def359f3d4c12e56b0e21984adeb74a57e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3604 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 dOJ1tFfhXLm>J+Ge2^WD&ajzTH3{{ifSm?i)K diff --git a/doc/video-snap-gocoding.jpg b/doc/video-snap-gocoding.jpg deleted file mode 100644 index bfffb040fa7a7cc887dca6169eb1f6fcfdabc792..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4303 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 Kf3aRX9RCl)anN-D diff --git a/doc/video-snap-io.jpg b/doc/video-snap-io.jpg deleted file mode 100644 index f2dff722b459f81ab6dba7ea53ef9a331ace80a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6136 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 Yk#?ICW~t~tlH2e}u=$~7)Z@~B0U3Fc*8l(j diff --git a/doc/video-snap-oscon.jpg b/doc/video-snap-oscon.jpg deleted file mode 100644 index b437cd7fdad3c38d29c4798272f0068c08755e92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6268 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 u+fbuTv_1C#$&Y{iZ~y2@AC3Gqn(Ge + - - - {Title|html-esc} - - - - + +The Go Programming Language + + + - - - - -

- - - - - - -
- Go Home Page - -
The Go Programming Language
-
- -
-
- - - -
+
+
+

The Go Programming Language

+ +
+
{.section Menu} +
+

Build version {Version|html-esc}. Except as noted, this content is licensed under a Creative Commons Attribution 3.0 License.

+
- - -