<!DOCTYPE html>
<html lang="en">
<head>

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

<meta charset="utf-8">
<meta name="description" content="Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.">
<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=Google+Sans:400,500,600|Work+Sans:400,500,600|Roboto:400,500,700|Open+Sans:Source+Code+Pro|Material+Icons">
<link rel="stylesheet" href="/css/styles.css">

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

<script src="/js/site.js"></script>
<title>Categories - go.dev</title>
</head>
<body class="Site">

<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-W8MVQXG"
  height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>

<header class="Site-header js-siteHeader">
  <div class="Banner">
    <div class="Banner-inner">
      <div class="Banner-message">Black Lives Matter</div>
      <a class="Banner-action"
         href="https://support.eji.org/give/153413/#!/donation/checkout"
         target="_blank"
         rel="noopener">
         Support the Equal Justice Initiative
      </a>
    </div>
  </div>
  <div class="Header Header--dark">
    <nav class="Header-nav">
      <a href="https://go.dev/">
        <img
          class="js-headerLogo Header-logo"
          src="/images/go-logo-white.svg"
          alt="Go">
      </a>
      <div class="Header-rightContent">
        <ul class="Header-menu">
          <li class="Header-menuItem ">
            <a href="/solutions/">Why Go</a>
          </li>
          <li class="Header-menuItem ">
            <a href="/learn/">Getting Started</a>
          </li>
          <li class="Header-menuItem ">
            <a href="https://pkg.go.dev">Discover Packages</a>
          </li>
          <li class="Header-menuItem ">
            <a href="/about">About</a>
          </li>
        </ul>
        <button class="Header-navOpen js-headerMenuButton Header-navOpen--white" aria-label="Open navigation.">
        </button>
      </div>
    </nav>

  </div>
</header>
<aside class="NavigationDrawer js-header">
  <nav class="NavigationDrawer-nav">
    <div class="NavigationDrawer-header">
      <a href="https://go.dev/">
        <img class="NavigationDrawer-logo" src="/images/go-logo-blue.svg" alt="Go.">
      </a>
    </div>
    <ul class="NavigationDrawer-list">
        <li class="NavigationDrawer-listItem ">
          <a href="/solutions/">Why Go</a>
        </li>
        <li class="NavigationDrawer-listItem ">
          <a href="/learn/">Getting Started</a>
        </li>
        <li class="NavigationDrawer-listItem ">
          <a href="https://pkg.go.dev">Discover Packages</a>
        </li>
        <li class="NavigationDrawer-listItem ">
          <a href="/about">About</a>
        </li>
    </ul>
  </nav>
</aside>
<div class="NavigationDrawer-scrim js-scrim" role="presentation"></div>
<main class="SiteContent SiteContent--default"><div class="Container Container--padded">
    <h1>Categories</h1>
    <ul class="Series-list">

    </ul>
  </div>
</main>
<footer class="Site-footer">
  <div class="Footer">
    <div class="Container">
      <div class="Footer-links">
          <div class="Footer-linkColumn">

<a href="/solutions/" class="Footer-link Footer-link--primary">
  Why Go
</a>


<a href="/solutions/#use-cases" class="Footer-link">
  Use Cases
</a>



<a href="/solutions/#case-studies" class="Footer-link">
  Case Studies
</a>


          </div>
          <div class="Footer-linkColumn">

<a href="/learn/" class="Footer-link Footer-link--primary">
  Getting Started
</a>


<a href="https://play.golang.org" class="Footer-link">
  Playground
</a>



<a href="https://tour.golang.org" class="Footer-link">
  Tour
</a>



<a href="https://stackoverflow.com/questions/tagged/go?tab=Newest" class="Footer-link">
  Stack Overflow
</a>


          </div>
          <div class="Footer-linkColumn">

<a href="https://pkg.go.dev" class="Footer-link Footer-link--primary">
  Discover Packages
</a>

          </div>
          <div class="Footer-linkColumn">

<a href="/about" class="Footer-link Footer-link--primary">
  About
</a>


<a href="https://golang.org/dl/" class="Footer-link">
  Download
</a>



<a href="https://blog.golang.org" class="Footer-link">
  Blog
</a>



<a href="https://github.com/golang/go/issues" class="Footer-link">
  Issue Tracker
</a>



<a href="https://golang.org/doc/devel/release.html" class="Footer-link">
  Release Notes
</a>



<a href="https://blog.golang.org/go-brand" class="Footer-link">
  Brand Guidelines
</a>



<a href="https://golang.org/conduct" class="Footer-link">
  Code of Conduct
</a>


          </div>
          <div class="Footer-linkColumn">

<a href="https://www.twitter.com/golang" class="Footer-link Footer-link--primary">
  Connect
</a>


<a href="https://www.twitter.com/golang" class="Footer-link">
  Twitter
</a>



<a href="https://github.com/golang" class="Footer-link">
  GitHub
</a>



<a href="https://invite.slack.golangbridge.org/" class="Footer-link">
  Slack
</a>



<a href="https://reddit.com/r/golang" class="Footer-link">
  r/golang
</a>



<a href="https://www.meetup.com/pro/go" class="Footer-link">
  Meetup
</a>



<a href="https://golangweekly.com/" class="Footer-link">
  Golang Weekly
</a>


          </div>
      </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="https://golang.org/s/discovery-feedback"
              target="_blank"
              rel="noopener"
              >
              Report an Issue
            </a>
          </li>
          <li class="Footer-listItem">
            <a
              href="https://golang.org"
              target="_blank"
              rel="noopener"
              >golang.org
            </a>
          </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/carousels.js"></script>
  <script src="/js/searchBox.js"></script>
  <script src="/js/misc.js"></script>
  <script src="/js/hats.js"></script>
</footer>
</body>
</html>
