Go Essentials: Concurrency, Connectivity, and High-Performance Apps
1h 46mBeginner2022-04-20
Authors

Miki Tebeka
CEO at 353Solutions
Course details
Go is an open-source programming language created by Google, prized for its concurrency and connectivity. Using Go, developers can build modern applications that can save companies money on backend resources. This course is designed to help developers be productive with Go, starting with the essentials of the syntax. Learn the basics of Go basic types such as numbers and strings; working with conditionals and loops; creating object-oriented code with structs and methods; and handling errors. Instructor Miki Tebeka also emphasizes the concurrency features such as goroutines and channels, and connectivity features for networking with APIs and databases. For the final project, Mika shows you how to build a highly concurrent server that combines everything you've learned into one elegant solution powered by Go.
Skills covered
GoGoogleEssential TrainingProgramming LanguagesSoftware Development
Concepts
0. Introduction
- 01 - Go for modern applications
- 02 - What you should know
1. Getting Started
- 03 - Setting up your work environment
- 04 - Anatomy of a Go program
- 05 - The Go tool
2. Go Basics
- 06 - Numbers and assignments
- 07 - Conditionals
- 08 - For loops
- 09 - Challenge - FizzBuzz
- 10 - Solution - FizzBuzz
- 11 - Strings
- 12 - Challenge - Even-ended numbers
- 13 - Solution - Even-ended numbers
- 14 - Slices
- 15 - Challenge - Find the maximal value
- 16 - Solution - Find the maximal value
- 17 - Maps
- 18 - Challenge - Maps
- 19 - Solution - Maps
3. Functions
- 20 - Defining a function
- 21 - Parameter passing
- 22 - Error return
- 23 - Defer
- 24 - Challenge - Write a function
- 25 - Solution - Write a function
4. Object-Oriented
- 26 - Structs
- 27 - Methods
- 28 - Creating structs with New function
- 29 - Challenge - Structs
- 30 - Solution - Structs
- 31 - Interfaces
- 32 - Challenge - Interfaces
- 33 - Solution - Interfaces
- 34 - Generics
5. Error Handling
- 35 - pkg errors
- 36 - Panic and recover
- 37 - Challenge - Server kill
- 38 - Solution - Server kill
6. Concurrency
- 39 - Goroutines
- 40 - Channels
- 41 - Challenge - Channels
- 42 - Solution - Channels
- 43 - Select
- 44 - Context
- 45 - Challenge - Download size
- 46 - Solution - Download size
7. Project Management
- 47 - Manage requirements
- 48 - Testing
- 49 - testify
- 50 - Challenge - Testing
- 51 - Solution - Testing
- 52 - Benchmarking and profiling
8. Networking
- 53 - JSON
- 54 - HTTP calls
- 55 - Timeouts & Size Limit
- 56 - Challenge - Call the GitHub API
- 57 - Solution - Call the GitHub API
- 58 - HTTP server
- 59 - Challenge - Key-value database
- 60 - Solution - Key-value database
Conclusion
- 61 - Next steps
Related courses
Related learn paths
- Prepare for the CompTIA Server+ (SK0-004) Exam
- Getting Started as a C# Developer
- Prepare for the Google Associate Android Developer Certification
- Advance your Node.js Skills
- Improve Your Xcode Skills
- Career Essentials in Cybersecurity by Microsoft and LinkedIn
- AI Essentials for Project Managers
- AI Essentials for User Experience Designers