Description
In this course, you will learn:
- Go basic types, conditionals, and loops
- Go functions
- Object-oriented programming with Go
- Error handling
- Concurrent programming with channels
- Testing and project management
- Networking with JSON and HTTP
Syllabus:
- Introduction
- Go for modern applications
- Getting started
1. Getting Started
- Anatomy of a Go program
- The Go tools
2. Go Basics
- Numbers and assignments
- Conditionals
- For loops
- Challenge: FizzBuzz
- Solution: FizzBuzz
- Strings
- Challenge: Even-ended numbers
- Solution: Even-ended numbers
- Slices
- Challenge: Find the maximal value
- Solution: Find the maximal value
- Maps
- Challenge: Maps
- Solution: Maps
3. Functions
- Defining function
- Parameter passing
- Error return
- Defer
- Challenge: Write a function
- Solution: Write a function
4. Object-Oriented
- Structs
- Methods
- New structs with functions
- Challenge: Structs
- Solution: Structs
- Interfaces
- Challenge: Interfaces
- Solution: Interfaces
5. Error Handling
- Package errors
- Panic and recover
- Challenge: Server kill
- Solution: Server kill
6. Concurrency
- Goroutines
- Channels
- Challenge: Channels
- Solution: Channels
- Select
- Challenge: Files MD5 signature
- Solution: Files MD5 signature
7. Project Management
- Imports
- Manage requirements
- Testing
- Challenge: Testing
- Solution: Testing
- Benchmarking and profiling
8. Networking
- JSON
- HTTP calls
- Challenge: Call the GitHub API
- Solution: Call the GitHub API
- GitHub HTTP server
- Challenge: Key-value database
- Solution: Key-value database