Dive into a comprehensive exploration of the Go programming language, covering fundamental concepts, advanced features, and practical applications. Learn about programming basics, Go-specific syntax, development environment setup, data types, control structures, functions, packages, interfaces, modules, testing, concurrency, HTTP servers, databases, logging, profiling, and more. Gain hands-on experience through practical lessons, build real-world applications, and master best practices for efficient Go development.
Overview
Syllabus
- Programming A Computer
- The Go Language
- The terminal
- Setup your dev environment
- First Go Application
- Binary and Decimal
- Hexadecimal, octal, ASCII, UTF8, Unicode, Runes
- Variables, constants and basic types
- Control Statements
- Functions
- Packages and imports
- Package Initialization
- Types
- Methods
- Pointer type
- Interfaces
- Go modules
- Go Module Proxies
- Unit Tests
- Arrays
- Slices
- Maps
- Errors
- Anonymous functions & closures
- JSON and XML
- Basic HTTP Server
- Enum, Iota & Bitmask
- Dates and time
- Data storage files and databases
- Concurrency
- Logging
- Templates
- Application Configuration
- Benchmarks
- Build an HTTP Client
- Program Profiling
- Context
- Generics
- An object oriented programming language ?
- Upgrading or Downgrading Go
- Design Recommendations
- Cheatsheet