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.

  • Online GoTalks 25.01.2022 group photo

    Jan 25, 2022 · Zagreb, Croatia

    Online GoTalks 25.01.2022

    Ovo je grupa za sve zainteresirane za Go programski jezik.
    Prošli talkovi se mogu naći na:
    • github repou
    • snimke na YouTube kanalu

    Prati na nas twitteru i na facebooku.
    Družimo se i na gophers.slack.com - tamo smo u kanalu #croatia.

  • meetup logo

    Jan 25, 2022 · Newcastle Upon Tyne, United Kingdom

    Trying Better: a new retry package for Go

    This is a group for anyone in the North East of England who's interested in the Go programming language. We usually meet up in Newcastle on the fourth Tuesday of every month at Campus North, Carliol Square.

  • Golang Online Meetup 65 group photo

    Jan 26, 2022 · Bangalore, India

    Golang Online Meetup 65

    A meetup group to discuss the Go Programming Language.  The Go programming language is an open source project to make programmers more productive. Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multi-core and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.
    Find us for chat hanging out at:Slack  (Invitation)