|  | <!--{ | 
|  | "Path": "/", | 
|  | "Template": true | 
|  | }--> | 
|  |  | 
|  | <div class="left"> | 
|  |  | 
|  | <div id="learn"> | 
|  | {{if not $.GoogleCN}} | 
|  | <a class="popout share">Pop-out</a> | 
|  | {{end}} | 
|  | <div class="rootHeading">Try Go</div> | 
|  | <div class="input"> | 
|  | <textarea spellcheck="false" class="code">// You can edit this code! | 
|  | // Click here and start typing. | 
|  | package main | 
|  |  | 
|  | import "fmt" | 
|  |  | 
|  | func main() { | 
|  | fmt.Println("Hello, 世界") | 
|  | }</textarea> | 
|  | </div> | 
|  | <div class="output"> | 
|  | <pre> | 
|  | Hello, 世界 | 
|  | </pre> | 
|  | </div> | 
|  | <div class="buttons"> | 
|  | <a class="run" href="#" title="Run this code [shift-enter]">Run</a> | 
|  | {{if not $.GoogleCN}} | 
|  | <a class="share" href="#" title="Share this code">Share</a> | 
|  | <a class="tour" href="//tour.golang.org/" title="Learn Go from your browser">Tour</a> | 
|  | {{end}} | 
|  | </div> | 
|  | <div class="toys"> | 
|  | <select> | 
|  | <option value="hello.go">Hello, World!</option> | 
|  | <option value="life.go">Conway's Game of Life</option> | 
|  | <option value="fib.go">Fibonacci Closure</option> | 
|  | <option value="peano.go">Peano Integers</option> | 
|  | <option value="pi.go">Concurrent pi</option> | 
|  | <option value="sieve.go">Concurrent Prime Sieve</option> | 
|  | <option value="solitaire.go">Peg Solitaire Solver</option> | 
|  | <option value="tree.go">Tree Comparison</option> | 
|  | </select> | 
|  | </div> | 
|  | </div> | 
|  |  | 
|  | </div> | 
|  |  | 
|  | <div class="right"> | 
|  |  | 
|  | <div id="about"> | 
|  | Go is an open source programming language that makes it easy to build | 
|  | simple, reliable, and efficient software. | 
|  | </div> | 
|  |  | 
|  | <div id="gopher"></div> | 
|  |  | 
|  | <a href="/dl/" id="start"> | 
|  | <span class="big">Download Go</span> | 
|  | <span class="desc"> | 
|  | Binary distributions available for<br> | 
|  | Linux, macOS, Windows, and more. | 
|  | </span> | 
|  | </a> | 
|  |  | 
|  | </div> | 
|  |  | 
|  | <div style="clear: both"></div> | 
|  |  | 
|  | {{if not $.GoogleCN}} | 
|  | <div class="left"> | 
|  | <div id="video"> | 
|  | <div class="rootHeading">Featured video</div> | 
|  | <div class="js-frontpage-video" style="--aspect-ratio-padding: 58.07%;"><iframe width="415" height="241" src="//www.youtube.com/embed/ytEkHepK08c" frameborder="0" allowfullscreen></iframe></div> | 
|  | </div> | 
|  | </div> | 
|  |  | 
|  | <div class="right"> | 
|  | <div id="blog"> | 
|  | <div class="rootHeading">Featured articles</div> | 
|  | <div class="read"><a href="//blog.golang.org/">Read more</a></div> | 
|  | </div> | 
|  | </div> | 
|  | {{end}} | 
|  |  | 
|  | <div style="clear: both;"></div> | 
|  |  | 
|  | <script> | 
|  | (function() { | 
|  | 'use strict'; | 
|  |  | 
|  | window.initFuncs.push(function() { | 
|  | // Set up playground if enabled. | 
|  | if (window.playground) { | 
|  | window.playground({ | 
|  | "codeEl":        "#learn .code", | 
|  | "outputEl":      "#learn .output", | 
|  | "runEl":         "#learn .run", | 
|  | "shareEl":       "#learn .share", | 
|  | "shareRedirect": "//play.golang.org/p/", | 
|  | "toysEl":        "#learn .toys select" | 
|  | }); | 
|  | } else { | 
|  | $('#learn').hide() | 
|  | } | 
|  | }); | 
|  |  | 
|  | {{if not $.GoogleCN}} | 
|  |  | 
|  | function readableTime(t) { | 
|  | var m = ["January", "February", "March", "April", "May", "June", "July", | 
|  | "August", "September", "October", "November", "December"]; | 
|  | var p = t.substring(0, t.indexOf("T")).split("-"); | 
|  | var d = new Date(p[0], p[1]-1, p[2]); | 
|  | return d.getDate() + " " + m[d.getMonth()] + " " + d.getFullYear(); | 
|  | } | 
|  |  | 
|  | window.feedLoaded = function(result) { | 
|  | var blog = document.getElementById("blog"); | 
|  | var read = blog.getElementsByClassName("read")[0]; | 
|  | for (var i = 0; i < result.length && i < 2; i++) { | 
|  | var entry = result[i]; | 
|  | var title = document.createElement("a"); | 
|  | title.className = "title"; | 
|  | title.href = entry.Link; | 
|  | title.innerHTML = entry.Title; | 
|  | blog.insertBefore(title, read); | 
|  | var extract = document.createElement("div"); | 
|  | extract.className = "extract"; | 
|  | extract.innerHTML = entry.Summary; | 
|  | blog.insertBefore(extract, read); | 
|  | var when = document.createElement("div"); | 
|  | when.className = "when"; | 
|  | when.innerHTML = "Published " + readableTime(entry.Time); | 
|  | blog.insertBefore(when, read); | 
|  | } | 
|  | } | 
|  |  | 
|  | window.initFuncs.push(function() { | 
|  | // Load blog feed. | 
|  | $('<script/>').attr('text', 'text/javascript') | 
|  | .attr('src', '//blog.golang.org/.json?jsonp=feedLoaded') | 
|  | .appendTo('body'); | 
|  |  | 
|  | // Set the video at random. | 
|  | var videos = [ | 
|  | {h: 241, s: "//www.youtube.com/embed/ytEkHepK08c"}, // Tour of Go | 
|  | {h: 241, s: "//www.youtube.com/embed/f6kdp27TYZs"}, // Concurrency Patterns | 
|  | {h: 233, s: "//player.vimeo.com/video/69237265"}    // Simple environment | 
|  | ]; | 
|  | var v = videos[Math.floor(Math.random()*videos.length)]; | 
|  | $('#video iframe').attr('height', v.h).attr('src', v.s); | 
|  | // Compute the aspect ratio (as a percentage) of the video | 
|  | // using the fixed width 415 and the height of the current video, v.h. | 
|  | var ar = 100*v.h/415; | 
|  | $('.js-frontpage-video').attr('style', '--aspect-ratio-padding: ' + ar + '%;'); | 
|  | }); | 
|  |  | 
|  | {{end}} | 
|  | })(); | 
|  | </script> |