Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Advanced Go and Concurrency

Packt via Coursera

Overview

Google, IBM & Meta Certificates — All 10,000+ Courses at 40% Off
One annual plan covers every course and certificate on Coursera. 40% off for a limited time.
Get Full Access
This course features Coursera Coach! A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. This advanced course in Go programming delves deep into essential topics like structs, interfaces, error handling, and concurrency. You will start by learning how to define and use struct types, explore methods for struct types, and compare structs with maps. The course also covers advanced features of Go interfaces, teaching you how to implement multiple interfaces and leverage the empty interface for flexible code design. As you move into error handling, you'll master techniques such as handling runtime errors, using deferred functions for error management, and creating custom errors for improved reporting. This section ensures you are fully equipped to manage complex scenarios in real-world applications. The final part of the course focuses on Go’s powerful concurrency model using goroutines. You'll understand the intricacies of managing multiple goroutines, synchronize them using wait groups, and safely communicate between goroutines using channels. These skills are crucial for building high-performance, concurrent applications in Go. This course is intended for developers familiar with Go programming who want to deepen their understanding of advanced Go concepts, especially around concurrency and error handling. A solid grasp of Go fundamentals is recommended. By the end of the course, you will be able to work with advanced Go features such as structs, interfaces, error handling, and goroutines, and use concurrency to build efficient, scalable applications.

Syllabus

  • Struct Type
    • In this module, we will teach you about struct types in Go, including how to define and initialize structs. You'll learn how to pass structs by value or pointer, define methods, and understand when to use structs versus maps in Go.
  • Interfaces
    • In this module, we will introduce you to Go's powerful interface system. You'll learn how to implement and use interfaces in various contexts, from defining multiple interface implementations to creating slices of interface types and using the empty interface.
  • Errors
    • In this module, we will cover error handling in Go, teaching you how to manage runtime errors, use panic and recover for error handling, and create custom error types. You'll also learn how to use deferred functions for efficient error management and resource cleanup.
  • Goroutines & Concurrency
    • In this module, we will dive into Go’s concurrency model, focusing on goroutines and their management. You'll learn how to execute concurrent tasks efficiently, use sync.WaitGroup to synchronize goroutines, and utilize channels for safe data communication between goroutines.
  • Wrap Up
    • In this module, we will conclude your advanced Go programming journey, summarizing the critical concepts you've learned. You’ll also be encouraged to continue developing your Go skills and apply them in practical, real-world applications.

Taught by

Packt - Course Instructors

Reviews

Start your review of Advanced Go and Concurrency

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.