Advanced Go Programming Online Course
Go (Golang) is a modern, open-source, statically typed language with a syntax similar to C, designed for simplicity, performance, and fast deployment—making it ideal for building cloud-native applications.
This course is designed to take your Go skills to the next level by exploring advanced programming concepts and showing you how to apply them effectively in real-world scenarios. With Go’s robust standard library and expansive toolset, you’ll learn how to streamline development workflows and build high-performance, scalable software systems.
You’ll begin by revisiting core language features and then dive deeper into advanced topics. From writing idiomatic and maintainable Go code to developing web apps, microservices, and command-line tools, this course equips you with the skills to build production-grade applications.
By the end of the course, you'll be confident in designing and building efficient, powerful solutions using Go—ready to take on complex development challenges with ease.
Course Curriculum
Challenging the Aspects of Go
- The Course Overview
- Installation
- Programming with Go
- Efficient Handling of Input and Output
- Error Handling Techniques
- Source Code Organization and Packages
- Daily Task: Write a Process Monitor
Advanced Language Concepts
- Exercise Review
- Go Type System
- All about Strings and Runes
- Function Declarations and Calls
- Pointers and Structs
- Interfaces and Type Modeling
- Container Types
- Channels
- Reflection
- Goroutines
- Daily Task –Implement a Markdown Parser
Mastering the Art of Writing Libraries
- Exercise Review
- Aspects of Library Development
- Writing Algorithms and Data Structures Like Trees and Sets
- Writing a GitHub API Library
- Writing a Blockchain SDK
- Daily Task: Write a Logging Library
Mastering the Art of Writing Command Line Applications
- Exercise Review
- Aspects of Command-Line Application Development
- Writing a File Search Tool
- Writing a Curl Tool
- Writing a Key-Value Database
- Daily Task – Write a Stack Overflow Search Tool
Mastering the Art of Writing Server-Level Code
- Task Overview
- Aspects of Server-Side Application
- Building a TCP Server
- Building a UDP Servers
- Develop a Web Framework
- Daily Task – Writing an CORS Anywhere Server
Developing Microservices – I
- Task Overview
- Aspects of Microservice-Based Application
- Domain-Driven Design
- Issue Tracker Microservice – Databases
- Issue Tracker Microservice – Authorization
- Daily Task – Implement a Paginator
Developing Microservices – II
- Task Overview
- API Gateways
- Microservice Communication Patterns – RPCs
- Microservice Communications Patterns: Message Queues
- 12 Factor Apps
- Daily Task – Issue Tracker Microservice