Write more efficient, reliable applications with Go. Learn Go basics, including programming with Go basic types, structs and functions, concurrency, and networking.
Overview
Syllabus
Introduction
- Go for modern applications
- What you should know
- Setting up your work environment
- Anatomy of a Go program
- The Go tool
- 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
- Defining a function
- Parameter passing
- Error return
- Defer
- Challenge: Write a function
- Solution: Write a function
- Structs
- Methods
- Creating structs with New function
- Challenge: Structs
- Solution: Structs
- Interfaces
- Challenge: Interfaces
- Solution: Interfaces
- Generics
- pkg/errors
- Panic and recover
- Challenge: Server kill
- Solution: Server kill
- Goroutines
- Channels
- Challenge: Channels
- Solution: Channels
- Select
- Context
- Challenge: Download size
- Solution: Download size
- Manage requirements
- Testing
- testify
- Challenge: Testing
- Solution: Testing
- Benchmarking and profiling
- JSON
- HTTP calls
- Timeouts & Size Limit
- Challenge: Call the GitHub API
- Solution: Call the GitHub API
- HTTP server
- Challenge: Key-value database
- Solution: Key-value database
- Next steps
Taught by
Miki Tebeka