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

Coursera

Go (Golang) for the Absolute Beginners - Hands-On

Packt via Coursera

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
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. In this hands-on course, you'll begin by learning the fundamentals of Go (Golang) programming, starting with setting up your environment and writing your first Go program. You'll dive deep into variables, data types, operators, and user input/output techniques, while gaining practical experience with Go's core features. You'll also master Go's powerful concurrency features, including goroutines and channels, that enable you to build fast, efficient, and scalable applications. As you progress, you'll explore essential Go data structures such as arrays, slices, and maps, and understand how to work with Go's error handling, logging, and core packages. You'll develop a deep understanding of how to create reusable packages and work with Go modules, making your code modular and efficient. By the end of this course, you'll have gained the skills needed to develop your own Go applications and even microservices. This course is designed for beginners who are eager to learn Go from scratch. It’s ideal for those with no prior programming experience, or those looking to add Go to their programming skills. The course is practical, with minimal theory and lots of hands-on coding. No prior knowledge of Go is required. By the end of the course, you will be able to confidently develop Go applications, implement core Go structures, and leverage concurrency for efficient processing. You will be prepared to build real-world applications like user registration systems, product catalogs, and even microservices using Go.

Syllabus

  • Course Introduction
    • In this module, we will introduce the structure of the course and walk you through the objectives of each module. You’ll get an overview of what to expect as a beginner and how this course will help you develop a solid foundation in Go programming. By the end of this module, you'll be ready to embark on your Go learning journey with a clear understanding of the course goals.
  • Getting Started with Go
    • In this module, we will introduce Go (Golang), its core philosophy, and why it’s becoming a popular choice among developers. You will also learn to install and configure Go on your system and write your very first Go program to get hands-on experience with the basics of the language.
  • Variables and Data Types
    • In this module, we will focus on the essential building blocks of Go programming: variables, constants, data types, and operators. You’ll explore how to declare and use variables and constants, as well as how to handle different data types and perform operations effectively in Go. A hands-on use case will also guide you through a user registration process.
  • Data Structure
    • In this module, we will dive into Go’s powerful data structures: arrays, slices, maps, and structs. You will learn to work with these structures to organize and manipulate data efficiently, while building a practical product catalog system as a hands-on project.
  • Control Structure
    • In this module, we will explore Go’s control structures, including conditionals, loops, and functions. You’ll learn how to direct your program’s flow with if-else and switch statements, as well as how to define and use functions for more structured and maintainable code. A real-world use case like order placement will reinforce these concepts.
  • Go Interfaces
    • In this module, we will introduce interfaces in Go and explain their importance in achieving polymorphism. You will learn how to define and implement interfaces, allowing you to build more flexible and modular applications that adhere to Go’s core principles.
  • Concurrency in Go
    • In this module, we will cover concurrency in Go, a key feature that sets Go apart from many other programming languages. You will learn how to use goroutines for concurrent execution, leverage channels for communication, and synchronize multiple goroutines with WaitGroups. A practical use case will help you master concurrency in Go.
  • Packages and Modules
    • In this module, we will explore how Go organizes code with packages and modules, making it easy to structure and reuse code in your projects. You will learn to create and access packages, and familiarize yourself with essential Go commands for managing your Go projects and dependencies.
  • Core Packages
    • In this module, we will explore some of Go’s most frequently used standard packages. You’ll learn how to manipulate strings, work with Go’s file handling tools to read and write files, and understand how to use these core packages to build robust applications.
  • Errors and Logging
    • In this module, we will cover how to handle errors in Go, from basic error handling to more advanced techniques using custom errors. You will also learn how to implement structured logging for improved debugging and better application traceability.
  • Microservices using Go
    • In this module, we will introduce microservices and explain why Go is an ideal language for building them. You’ll learn how to build a simple microservice using Go’s powerful features, allowing you to take advantage of Go’s concurrency and performance capabilities in real-world applications.
  • Capstone Project
    • In this module, we will bring together everything you’ve learned throughout the course by working on a capstone project. You’ll apply Go’s syntax, data structures, and concurrency features to create a comprehensive application, consolidating your learning in a hands-on, practical project.
  • Conclusion
    • In this module, we will wrap up the course by highlighting the key takeaways and providing guidance on the next steps in your Go journey. You will gain insight into how Go can be applied to a variety of real-world projects, helping you continue your growth as a Go developer.

Taught by

Packt - Course Instructors

Reviews

Start your review of Go (Golang) for the Absolute Beginners - Hands-On

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.