Advanced Go Programming Online Course
Advanced Go Programming Training Course
Go is a modern, open source, statically typed language that resembles C. It is particularly useful in developing cloud-native applications as it’s convenient, occupies a low footprint, and deploys fast.
Go greatly simplifies the development of modern applications. With its vast ecosystem of tools and libraries, it's easy to create an efficient software pipeline that satisfies business requirements.
This course will elevate your knowledge of Go by teaching you the advanced concepts of the language. You'll also understand how you can utilize them in practice. It starts by introducing familiar features of the language before delving into more details. You’ll master the art of programming with Go, which includes understanding the Go language, writing idiomatic yet readable code, building web applications, microservices, command-line applications, and more.
By the end of the course, you'll be ready to engineer efficient Go solutions that can move mountains.
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