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.

  • meetup logo

    Jun 28, 2022 · Prague, Czech Republic

    Go meetup #8

    Hi, we working on next meetup. We need more speakers and topics. If you can speak on meetup contact me on gopher slack #prague-meetup or send email to ladislav@prskavec.net directly. After I get 3 topic and speakers I will announce next meetup.
    ---
    A meetup group to discuss the Go Programming Language.
    (from golang.org)
    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 multicore 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.

  • GS#12: Gophers Silesia is back! NATS, Scraping in Go & more! group photo

    Jun 28, 2022 · Katowice, Poland

    GS#12: Gophers Silesia is back! NATS, Scraping in Go & more!

    Grupa programistów zainteresowanych językiem Go oraz tematami Cloud Native ze Śląska i okolic. Zróżnicowany poziom prelekcji sprawia, że każdy znajdzie coś dla siebie, niezależnie od stopnia zaawansowania. Staramy się, aby na każdym spotkaniu były zarówno prelekcje przeznaczone dla początkujących, jak i bardziej zaawansowane tematy, dla ludzi, którzy już piszą w Go oraz mają doświadczenie z technologiami cloudowymi.

  • meetup logo

    Jun 28, 2022 · Newcastle Upon Tyne, United Kingdom

    Go meetup

    This is a group for anyone in the North East of England who's interested in the Go programming language. We meet every other month, on the fourth Tuesday, we will confirm the venue before each meetup.