{{block "entirepage" . -}}
<!DOCTYPE html>
<html lang="en" data-theme="light">
<head>
<!-- Google Tag Manager -->
<link rel="preconnect" href="https://www.googletagmanager.com">
<script >(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
  new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
  'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  })(window,document,'script','dataLayer','GTM-W8MVQXG');</script>
  <!-- End Google Tag Manager -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#00add8">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Material+Icons">
<link rel="stylesheet" href="/css/styles.css">
{{if strings.HasPrefix .URL "/blog/"}}
<link rel="alternate" title="The Go Blog" type="application/atom+xml" href="/blog/feed.atom">
{{end}}
  <!-- Google Tag Manager -->
  <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
  new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
  'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  })(window,document,'script','dataLayer','GTM-W8MVQXG');</script>
  <!-- End Google Tag Manager -->
<script src="/js/site.js"></script>
<meta name="og:url" content="https://go.dev{{.URL}}">
<meta name="og:title" content="{{.title}}{{if ne .URL "/"}} - The Go Programming Language{{end}}">
<title>{{.title}}{{if ne .URL "/"}} - The Go Programming Language{{end}}</title>
{{if .summary}}
<meta name="og:description" content="{{.summary}}">
<meta name="description" content="{{.summary}}">
{{end}}
<meta name="og:image" content="https://go.dev/doc/gopher/gopher5logo.jpg">
<meta name="twitter:image" content="https://go.dev/doc/gopher/{{if strings.HasPrefix .URL "/blog/"}}runningsquare.jpg{{else}}gopherbelly300.jpg{{end}}">
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@golang">
{{if .link -}}
<meta http-equiv="refresh" content="0; url={{.link}}">
{{end -}}
</head>
<body class="Site">
  <!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-W8MVQXG"
  height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
  <!-- End Google Tag Manager (noscript) -->

{{$menus := data "/menus.yaml"}}
<header class="Site-header js-siteHeader">
  <div class="Header Header--dark">
    <nav class="Header-nav">
      <a href="/">
        <img
          class="js-headerLogo Header-logo"
          src="/images/go-logo-white.svg"
          alt="Go">
      </a>
      <div class="Header-rightContent">
        <ul class="Header-menu">
          {{- $currentPage := .}}
          {{- range $menus.main}}
          <li class="Header-menuItem {{if strings.HasPrefix $currentPage.URL .url}} Header-menuItem--active{{end}}">
            <a href="{{.url}}">{{.name}}</a>
          </li>
          {{- end}}
        </ul>
        <button class="Header-navOpen js-headerMenuButton Header-navOpen--white" aria-label="Open navigation.">
        </button>
      </div>
    </nav>
    {{ if (eq .series "Use Cases") }}
    <div class="UseCaseSubNav js-useCaseSubnav">
      <button class="UseCaseSubNav-menuHeader js-useCaseSubnavHeader">
        Jump to
        <img
          class="UseCaseSubNav-menuIcon js-useCaseSubnavMenuIcon"
          alt="Open menu icon" src="/images/icons/chevron-down.svg">
      </button>
      <div class="UseCaseSubNav-menu js-useCaseSubnavMenu">
        <div class="UseCaseSubNav-anchorLinks js-useCaseSubnavLinks">
        </div>
      </div>
    </div>
    {{end}}
  </div>
</header>
<aside class="NavigationDrawer js-header">
  <nav class="NavigationDrawer-nav">
    <div class="NavigationDrawer-header">
      <a href="/">
        <img class="NavigationDrawer-logo" src="/images/go-logo-blue.svg" alt="Go.">
      </a>
    </div>
    <ul class="NavigationDrawer-list">
      {{- range $menus.main}}
        <li class="NavigationDrawer-listItem {{if strings.HasPrefix $currentPage.URL .url}} NavigationDrawer-listItem--active{{end}}">
          <a href="{{.url}}">{{.name}}</a>
        </li>
      {{- end}}
    </ul>
  </nav>
</aside>
<div class="NavigationDrawer-scrim js-scrim" role="presentation"></div>
<main class="SiteContent SiteContent--default">
  {{block "layout" .}}{{.Content}}{{end}}
</main>
<footer class="Site-footer">
  <div class="Footer">
    <div class="Container">
      <div class="Footer-links">
        {{- range $menus.footer}}
          <div class="Footer-linkColumn">
            <a href="{{.url}}" class="Footer-link Footer-link--primary">
              {{.name}}
            </a>
            {{- range .children}}
              <a href="{{.url}}" class="Footer-link">
                {{.name}}
              </a>
            {{- end}}
          </div>
        {{- end}}
      </div>
    </div>
  </div>
  <div class="Footer">
    <div class="Container Container--fullBleed">
      <div class="Footer-bottom">
        <img class="Footer-gopher" src="/images/gophers/pilot-bust.svg" alt="The Go Gopher">
        <ul class="Footer-listRow">
          <li class="Footer-listItem">
            <a href="/copyright">Copyright</a>
          </li>
          <li class="Footer-listItem">
            <a href="/tos">Terms of Service</a>
          </li>
          <li class="Footer-listItem">
            <a href="http://www.google.com/intl/en/policies/privacy/"
              target="_blank"
              rel="noopener">
              Privacy Policy
            </a>
            </li>
          <li class="Footer-listItem">
            <a
              href="/s/website-issue"
              target="_blank"
              rel="noopener"
              >
              Report an Issue
            </a>
          </li>
          <li class="Footer-listItem go-Footer-listItem">
            <button class="go-Button go-Button--text go-Footer-toggleTheme js-toggleTheme" aria-label="Toggle theme">
              <img
                data-value="auto"
                class="go-Icon go-Icon--inverted"
                height="24"
                width="24"
                src="/images/icons/brightness_6_gm_grey_24dp.svg"
                alt="System theme">
              <img
                data-value="dark"
                class="go-Icon go-Icon--inverted"
                height="24"
                width="24"
                src="/images/icons/brightness_2_gm_grey_24dp.svg"
                alt="Dark theme">
              <img
                data-value="light"
                class="go-Icon go-Icon--inverted"
                height="24"
                width="24"
                src="/images/icons/light_mode_gm_grey_24dp.svg"
                alt="Light theme">
            </button>
          </li>
        </ul>
        <a class="Footer-googleLogo" target="_blank" href="https://google.com" rel="noopener">
          <img class="Footer-googleLogoImg" src="/images/google-white.png" alt="Google logo">
        </a>
      </div>
    </div>
  </div>
  <script src="/js/jquery.js"></script>
  <script src="/js/carousels.js"></script>
  <script src="/js/searchBox.js"></script>
  <script src="/js/misc.js"></script>
  <script src="/js/hats.js"></script>
  <script src="/js/playground.js"></script>
  <script src="/js/godocs.js"></script>
</footer>
</body>
</html>
{{end}}

{{define "breadcrumbnav p1 p2"}}
{{- if ne .p1.URL "/"}}
  {{- breadcrumbnav (page (path.Dir (strings.TrimRight .p1.URL "/"))) .p2}}
{{- end}}
{{- if not (eq .p1.title "go.dev")}}
<li class="BreadcrumbNav-li {{if eq .p1.URL .p2.URL}}active{{end}}">
  <a class="BreadcrumbNav-link" href="{{.p1.URL}}">
  {{or .p1.company .p1.title}}
  </a>
</li>
{{- end}}
{{- end}}

{{define "breadcrumbs"}}
<div class="BreadcrumbNav">
    <ol class="BreadcrumbNav-inner">
      {{breadcrumbnav . .}}
    </ol>
</div>
{{- end}}

{{define "gopher info" -}}
{{- with (yaml .info)}}
{{- $src := "/images/gophers/wrench.svg"}}
{{- $alt := "Go gophers with wrench"}}
{{- $size := "Large"}}
{{- $align := "Left"}}
{{- $gopher := .color}}
{{- $sizeIn := (or .size "")}}
{{- if eq (.align) "right" "Right"}}
   {{- $align = "Right"}}
{{- end}}
{{- if eq $sizeIn "XLarge" "xl" "xlarge"}}
    {{- $size = "XLarge"}}
{{- end}}
{{- if eq $gopher "plane"}}
    {{- $src = "/images/gophers/biplane.svg"}}
    {{- $alt = "Go gopher in a plane"}}
{{- end}}
{{- if eq $gopher "blue"}}
    {{- $src = "/images/gophers/blue.svg"}}
    {{- $alt = "Go gopher"}}
{{- end}}
{{- if eq $gopher "front" "sticker1"}}
    {{- $src = "/images/gophers/front.svg"}}
    {{- $alt = "Go gopher"}}
{{- end}}
{{- if eq $gopher "graduate"}}
    {{- $src = "/images/gophers/graduate.svg"}}
    {{- $alt = "Go gopher graduating"}}
{{- end}}
{{- if eq $gopher "graduate-colorized"}}
    {{- $src = "/images/gophers/graduate-colorized.svg"}}
    {{- $alt = "Go gopher graduating"}}
{{- end}}
{{- if eq $gopher "green"}}
    {{- $src = "/images/gophers/green.svg"}}
    {{- $alt = "Go gopher"}}
{{- end}}
{{- if eq $gopher "grey" "gray"}}
    {{- $src = "/images/gophers/grey.svg"}}
    {{- $alt = "Go gopher"}}
{{- end}}
{{- if eq $gopher "happy" "sticker2"}}
    {{- $src = "/images/gophers/happy.svg"}}
    {{- $alt = "Go gopher"}}
{{- end}}
{{- if eq $gopher "headlamp"}}
    {{- $src = "/images/gophers/headlamp.svg"}}
    {{- $alt = "Go gopher with headlamp"}}
{{- end}}
{{- if eq $gopher "headlamp-colorized"}}
    {{- $src = "/images/gophers/headlamp-colorized.svg"}}
    {{- $alt = "Go gopher with headlamp"}}
{{- end}}
{{- if eq $gopher "ladder"}}
    {{- $src = "/images/gophers/ladder.svg"}}
    {{- $alt = "Go gopher with ladder"}}
{{- end}}
{{- if eq $gopher "machine"}}
    {{- $src = "/images/gophers/machine.svg"}}
    {{- $alt = "Go gophers with a machine"}}
{{- end}}
{{- if eq $gopher "machine-colorized"}}
    {{- $src = "/images/gophers/machine-colorized.svg"}}
    {{- $alt = "Go gopher with a machine"}}
{{- end}}
{{- if eq $gopher "megaphone"}}
    {{- $src = "/images/gophers/megaphone.svg"}}
    {{- $alt = "Go gopher with a megaphone"}}
{{- end}}
{{- if eq $gopher "peach"}}
    {{- $src = "/images/gophers/peach.svg"}}
    {{- $alt = "Go gopher"}}
{{- end}}
{{- if eq $gopher "pilot-bust"}}
    {{- $src = "/images/gophers/pilot-bust.svg"}}
    {{- $alt = "Go gopher pilot"}}
{{- end}}
{{- if eq $gopher "pink"}}
    {{- $src = "/images/gophers/pink.svg"}}
    {{- $alt = "Go gopher"}}
{{- end}}
{{- if eq $gopher "running"}}
    {{- $src = "/images/gophers/running.svg"}}
    {{- $alt = "Go gopher running"}}
{{- end}}
{{- if eq $gopher "slate"}}
    {{- $src = "/images/gophers/slate.svg"}}
    {{- $alt = "Go gopher"}}
{{- end}}
{{- if eq $gopher "wrench"}}
    {{- $src = "/images/gophers/wrench.svg"}}
    {{- $alt = "gopher with a wrench"}}
{{- end}}
{{- if eq $gopher "yellow"}}
    {{- $src = "/images/gophers/yellow.svg"}}
    {{- $alt = "Go gopher"}}
{{- end}}
{{- if eq $gopher "violet"}}
    {{- $src = "/images/gophers/violet.svg"}}
    {{- $alt = "Go gopher"}}
{{- end}}
{{- if eq $gopher "factory"}}
    {{- $src = "/images/gophers/factory.png"}}
    {{- $alt = "Go gopher factory"}}
{{- end}}
<img
  loading="lazy"
  class="{{$size}}Media-image {{$align}}"
  alt="{{$alt}}"
  src="{{$src}}">
{{- end}}
{{- end}}

{{define "pkg path name?" -}}
<a href="https://pkg.go.dev/{{.path}}?tab=overview">{{or .name .path}}</a>
{{- end}}


{{define "breadcrumb"}}
{{$elems := strings.Split (strings.Trim . "/") "/"}}
{{$prefix := slice $elems 0 (sub (len $elems) 1)}}
{{range $i, $elem := $prefix -}}
<a href="/{{strings.Join (slice $prefix 0 (add $i 1)) "/"}}/">{{$elem}}</a>/
{{- end -}}
<span class="text-muted">{{strings.Join (slice $elems (len $prefix) (len $elems)) "/"}}</span>
{{end}}

{{define "doclayout"}}
{{/* used from various subdirectory default.tmpl */}}
<article class="Doc Article">

{{if .title}}
<h1>{{.title}}</h1>
{{else if eq .layout "error"}}
<h1>Error</h1>
{{else if eq .layout "dir"}}
<h1>Directory {{breadcrumb .URL}}</h1>
{{else if and (eq .layout "texthtml") (strings.HasSuffix .URL ".go")}}
<h1>Source file {{breadcrumb .URL}}</h1>
{{else if eq .layout "texthtml"}}
<h1>Text file {{breadcrumb .URL}}</h1>
{{end}}

{{with .subtitle}}
<h2 class="subtitle">{{.}}</h2>
{{end}}

{{/* The Table of Contents is automatically inserted in this <div>.
     Do not delete this <div>. */}}
{{if not .hidetoc}}
<div id="nav" class="TOC"></div>
{{end}}

{{.Content}}

</article>

{{end}}
