<!--{ "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>