JetBrains Academy Course Catalog

Get Go-ready for real-world tasks—hands-on coding with beginner-friendly IDE support.

Advanced
5 days

You'll take this course in your JetBrains IDE.
Just install JetBrains Toolbox 2.7+, and we'll handle the rest!

Advanced
5 days

About

Go is a modern language designed for simplicity, speed, and real-world performance. It powers backends at Google, Docker, and Kubernetes, and it’s beginner-friendly if you have basic programming experience.

This hands-on course adapts the official Tour of Go into a supportive, guided path that helps you build real skills without the confusion.

Your result: clean, idiomatic Go and the confidence to build fast, scalable services for backend and systems programming.

Content

  1. About
  1. Packages
  2. Imports
  3. Exported names
  4. Functions
  5. Functions continued
  6. Multiple results
  7. Named return values
  8. Variables
  9. Variables with initializers
  10. Short variable declarations
  11. Basic types
  12. Zero values
  13. Type conversions
  14. Type inference
  15. Constants
  16. Numeric Constants
  1. For
  2. For continued
  3. For is Go's "while"
  4. Forever
  5. If
  6. If with a short statement
  7. If and else
  8. Exercise: Loops and Functions
  9. Switch
  10. Switch evaluation order
  11. Switch with no condition
  12. Defer
  13. Stacking defers
  1. Pointers
  2. Structs
  3. Struct Fields
  4. Pointers to structs
  5. Struct Literals
  6. Arrays
  7. Slices
  8. Slices are like references to arrays
  9. Slice literals
  10. Slice defaults
  11. Slice length and capacity
  12. Nil slices
  13. Creating a slice with make
  14. Slices of slices
  15. Appending to a slice
  16. Range
  17. Range continued
  18. Exercise: Slices
  19. Maps
  20. Map literals
  21. Map literals continued
  22. Mutating Maps
  23. Exercise: Maps
  24. Function values
  25. Function closures
  26. Exercise: Fibonacci closure
  1. Methods
  2. Methods are functions
  3. Methods continued
  4. Pointer receivers
  5. Pointers and functions
  6. Methods and pointer indirection
  7. Methods and pointer indirection (2)
  8. Choosing a value or pointer receiver
  9. Interfaces
  10. Interfaces are implemented implicitly
  11. Interface values
  12. Interface values with nil underlying values
  13. Nil interface values
  14. The empty interface
  15. Type assertions
  16. Type switches
  17. Stringers
  18. Exercise: Stringers
  19. Errors
  20. Exercise: Errors
  21. Readers
  22. Exercise: Readers
  23. Exercise: rot13Reader
  24. Images
  25. Exercise: Images
  1. Type parameters
  2. Generic types
  1. Goroutines
  2. Channels
  3. Buffered Channels
  4. Range and Close
  5. Select
  6. Default Selection
  7. Exercise: Equivalent Binary Trees
  8. sync.Mutex
  9. Exercise: Web Crawler
  10. Where to Go from here...

Learn with the tools developers use every day

Real-world development environment (Python)
Project-based learning journey (Python)
Collaboration via Git (Python)
Focused learning (Python)
  • Real-world development environment

    Gain hands-on experience with the same tools and workflows you'll use in your career, reducing the learning curve when transitioning to real-world projects.

  • Project-based learning journey

    Our plugin is designed to guide you through real coding projects that you can showcase in your portfolio after completion.

  • Collaboration via Git

    Easily track changes and collaborate on projects using Git — an essential tool for developers in every field.

  • Focused learning

    Enjoy fewer distractions with assignments, coding, debugging, and version control all in one window

Student? Get JetBrains IDEs & hands-on courses — free for the full duration of your studies.

What do you need to start?

1

Install the free JetBrains Toolbox App

The JetBrains Toolbox App 2.7+ makes setting up your course effortless. Already have a compatible IDE? It will launch it. If not, the app will install the right IDE for your course.

Learn more about our licenses here.

Download

JetBrains Toolbox App illustration
2

Confirm the course launch

Click Take course and then Allow to open the Toolbox App.

Select Always Allow to skip this confirmation in the future.

To return to the course later, find it in your IDE's recent projects.

Need more help? Check out our guide.

Course launch confirmation illustration
JetBrains Toolbox App illustration

The JetBrains Toolbox App 2.7+ makes setting up your course effortless. Already have a compatible IDE? It will launch it. If not, the app will install the right IDE for your course.

Learn more about our licenses here.

Download

JetBrains Toolbox App illustration

Click Take course and then Allow to open the Toolbox App.

Select Always Allow to skip this confirmation in the future.

To return to the course later, find it in your IDE's recent projects.

Need more help? Check out our guide.

JetBrains Toolbox App illustration

FAQ and troubleshooting

Yes, you will need the JetBrains Toolbox App and a JetBrains IDE.

Just click this link to install the JetBrains Toolbox App. We've taken care of all the necessary settings, and the app will handle the rest of the setup for you.

The JetBrains Toolbox App checks which IDE is compatible with your course and whether it is installed on your computer. If you have the necessary IDE installed, the app will open it. If not, JetBrains Toolbox will initiate the installation, prioritizing free community editions.

Yes, the JetBrains Toolbox App is essential, even if you already have a JetBrains IDE. It automatically prepares your IDE for studying by installing the required plugins and updating the IDE if necessary.

Please make sure you have the latest version of the JetBrains Toolbox App. To update, open the app and click Update Toolbox App, or download the latest version here.

If you’re using a Chrome-based browser, please also allow Find devices on local networks in the popup that appears on the course page. When this permission is granted, the page will detect when the Toolbox App opens on your system and you’ll be able to open the course properly.

Yes! It's 100% free and works with both the free and paid versions of JetBrains IDEs.

If you're a student, apply for the Student Pack to get full access to JetBrains IDEs for the duration of your studies. If not, check if you qualify for a free non-commercial license.

The configuration process may vary depending on the IDE you are using for the course. For detailed instructions, please refer to the Troubleshooting guide.