{{/* This template is combined with other templates to render blog pages. */}} {{define "root"}} <!DOCTYPE html> <html lang="en"> {{.AnalyticsHTML}}<meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="theme-color" content="#00ADD8"> <meta name="description" content="Go is an open source programming language that makes it easy to build simple, reliable, and efficient software."> <title>{{template "title" .}}</title> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Work+Sans:600|Roboto:400,700|Source+Code+Pro"> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Product+Sans&text=Supported%20by%20Google&display=swap"> <link rel="stylesheet" href="/lib/godoc/style.css"> <link rel="stylesheet" href="/fonts.css"> <link rel="alternate" type="application/atom+xml" title="blog.golang.org - Atom Feed" href="https://blog.golang.org/feed.atom" /> <script>window.initFuncs = [];</script> <style> h1, h2, h3, h4, h5, h6 { font-family: 'Work Sans', sans-serif; font-weight: 600; } h2 { /* Reset from style.js in x/website */ background: none; clear: none; font-size: 1.5em; font-weight: 600; line-height: inherit; overflow-wrap: normal; padding: 0; } @media print { #sidebar { display: none; } } #sidebar { float: right; padding-left: 20px; width: 40%; max-width: 250px; background: #f8f9f9; margin: 20px 0 20px 20px; } #sidebar h2 { font-size: 1rem; } #sidebar ul { padding: 0; } #sidebar li { list-style-type: none; } #content .author { font-style: italic; } #content .article { margin-bottom: 50px; } #content .date { color: #6e7072; } #content .tags { color: #999; font-size: smaller; } #content .iframe, #content .image { margin: 20px; } #content .title { margin: 20px 0; } #content img { max-width: 100%; } .article[data-slug='/go-fonts'] { font-family: Go, sans-serif; } .article[data-slug='/go-fonts'] pre, .article[data-slug='/go-fonts'] code { font-family: 'Go Mono', monospace; } </style> <body class="Site"> <header class="Header js-header"> <div class="Header-banner"> Black Lives Matter. <a href="https://support.eji.org/give/153413/#!/donation/checkout" target="_blank" rel="noopener">Support the Equal Justice Initiative.</a> </div> <nav class="Header-nav"> <a href="{{.GodocURL}}"><img class="Header-logo" src="/lib/godoc/images/go-logo-blue.svg" alt="Go"></a> <button class="Header-menuButton js-headerMenuButton" aria-label="Main menu" aria-expanded="false"> <div class="Header-menuButtonInner"> </button> <ul class="Header-menu"> <li class="Header-menuItem"><a href="{{.GodocURL}}/doc/">Documents</a></li> <li class="Header-menuItem"><a href="{{.GodocURL}}/pkg/">Packages</a></li> <li class="Header-menuItem"><a href="{{.GodocURL}}/project/">The Project</a></li> <li class="Header-menuItem"><a href="{{.GodocURL}}/help/">Help</a></li> <li class="Header-menuItem"><a href="{{.BasePath}}/">Blog</a></li> <li class="Header-menuItem"><a href="https://play.golang.org/">Play</a></li> <li class="Header-menuItem Header-menuItem--search"> <form class="HeaderSearch" role="search" action="{{.GodocURL}}/search"> <input class="HeaderSearch-input" type="search" name="q" placeholder="Search" aria-label="Search" autocapitalize="off" autocomplete="off" autocorrect="off" spellcheck="false" required> <button class="HeaderSearch-submit" aria-label="Search"> <!-- magnifying glass: --><svg class="HeaderSearch-icon" width="24" height="24" viewBox="0 0 24 24"><title>Search</title><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/><path d="M0 0h24v24H0z" fill="none"/></svg> </button> </form> </li> </ul> </nav> </header> <main class="Site-content" id="page"> <div class="container"> <aside id="sidebar"> {{with .Doc}} {{with .Newer}} <h2>Next article</h2> <p><a href="{{.Path}}">{{.Title}}</a></p> {{end}} {{with .Older}} <h2>Previous article</h2> <p><a href="{{.Path}}">{{.Title}}</a></p> {{end}} {{end}} <h2>Links</h2> <ul> <li><a href='//golang.org/'>golang.org</a></li> <li><a href='//golang.org/doc/install.html'>Install Go</a></li> <li><a href='//tour.golang.org/'>A Tour of Go</a></li> <li><a href='//golang.org/doc/'>Go Documentation</a></li> <li><a href='//groups.google.com/group/golang-nuts'>Go Mailing List</a></li> <li><a href='//twitter.com/golang'>Go on Twitter</a></li> </ul> <p><a href="{{.BasePath}}/index">Blog index</a></p> </aside><!-- #sidebar --> <div id="content"> <h1><a href="{{.BasePath}}/">The Go Blog</a></h1> {{template "content" .}} </div><!-- #content --> </div><!-- .container --> </main><!-- #page --> <footer> <div class="Footer"> <img class="Footer-gopher" src="/lib/godoc/images/footer-gopher.jpg" alt="The Go Gopher"> <ul class="Footer-links"> <li class="Footer-link"><a href="{{.GodocURL}}/doc/copyright.html">Copyright</a></li> <li class="Footer-link"><a href="{{.GodocURL}}/doc/tos.html">Terms of Service</a></li> <li class="Footer-link"><a href="http://www.google.com/intl/en/policies/privacy/">Privacy Policy</a></li> <li class="Footer-link"><a href="http://golang.org/issues/new?title=x/blog:" target="_blank" rel="noopener">Report issue</a></li> </ul> <a class="Footer-supportedBy" href="https://google.com">Supported by Google</a> </div> </footer> <script src="/lib/godoc/jquery.js"></script> <script src="/lib/godoc/playground.js"></script> <script src="/lib/godoc/play.js"></script> <script src="/lib/godoc/godocs.js"></script> <script> $(function() { // Insert line numbers for all playground elements. $('.playground > pre.numbers, .code > pre.numbers').each(function() { var $spans = $(this).find('> span'); // Compute width of number column (including trailing space). var max = 0; $spans.each(function() { var n = $(this).attr('num')*1; if (n > max) max = n; }); var width = 2; while (max > 10) { max = max / 10; width++; } // Insert line numbers with space padding. $spans.each(function() { var n = $(this).attr('num')+' '; while (n.length < width) n = ' '+n; $('<span class="number">').text(n).insertBefore(this); }); }); initPlayground(new HTTPTransport()); }); </script> {{end}} {{define "doc"}} <div class="article" data-slug="{{.Path}}"> <h2 class="title"><a href="{{.Path}}">{{.Title}}</a></h2> <p class="author"> {{with .Authors}}{{authors .}}<br>{{end}} {{.Time.Format "2 January 2006"}} </p> {{.HTML}} </div> {{end}}