Install the latest version of Go

Install the latest version of Go. For instructions to download and install the Go compilers, tools, and libraries, view the install documentation.

Download packages for Windows 64-bit, macOS, Linux, and more.

Go Gopher riding a motorcycle
  • Documentation

    Everything there is to know about Go. Get started on a new project or brush up for your existing Go code.

  • Tour of Go

    An interactive introduction to Go in three sections. Each section concludes with a few exercises so you can practice what you've learned.

  • Playground

    The Playground allows anyone with a web browser to write Go code that we immediately compile, link, and run on our servers.

Learning Resources

Guided learning journeys

  • Web Dev

    Go Web Examples provides easy to understand code snippets on how to use Go for web development.

  • CLIs

    This workshop will walk you through building a CLI app with Go, introducing you to basic Go principles and CLI frameworks along the way.

  • New to coding?

    Get started with this introductory course covering basic programming principles and Go fundamentals.

  • Go by example

    Go by Example is a hands-on introduction to Go using annotated example programs. It’s a great starting point to use when tackling any Go project.

Online learning

  • Codecademy

    This course covers setting up a Go environment, the fundamentals of Go, and will walk you through building a few sample projects.

  • Exercism.io

    Tackle community-sourced Go challenges in this interactive course, working with other participants and mentors along the way.

  • Google Developers Codelabs

    Get started with a free codelab that walks you through using Go to build and publish a Google Cloud Function.

  • Gophercises

    Build your confidence in using Go with this course, where you’ll build roughly twenty different Go applications.

Tutorials

  • Getting started

    In this tutorial, you'll get a brief introduction to Go programming. Along the way, you will install Go, write some simple "Hello, world" code, use the go command to run your code, use the Go package discovery tool, and call functions of an external module.

  • Create a module

    This is the first part of a tutorial that introduces a few fundamental features of the Go language. In this tutorial you'll create two modules. The first is a library which is intended to be imported by other libraries or applications. The second is a caller application which will use the first.

  • Developing a web service

    This tutorial introduces the basics of writing a RESTful web service API with Go and the Gin Web Framework. In this tutorial, you will build a RESTful API server with two endpoints.

  • Accessing a relational database

    This tutorial introduces the basics of accessing a relational database with Go and the database/sql package in its standard library. In this tutorial, you’ll create a database, then write code to access the database.

In-person training

  • Ardan Labs

    Offering customized on-site live training classes.

  • Gopher Guides

    Customized In-person, remote, and online training classes. Training for Developers by Developers.

  • Boss Sauce Creative

    Personalized or track-based Go training for teams.

  • Shiju Varghese

    On-site classroom training on Go and consulting on distributed systems architectures, in India.