Go is an open source programming language designed for building simple, fast, and reliable software. Please read the official documentation to learn a bit about Go code, tools packages, and modules.
Go by Example is a hands-on introduction to Go using annotated example programs. Check out the first example or browse the full list below.
I'm learning Go for backend development because it's known for its speed, reliability, and excellent support for concurrency. These characteristics make Go a great choice for modern, scalable applications.
- Hello World
- Values
- Variables
- Constants
- For
- If/Else
- Switch
- Arrays
- Slices
- Maps
- Range
- Functions
- Multiple Return Values
- Variadic Functions
- Closures
- Recursion
- Pointers
- Strings and Runes
- Structs
- Methods
- Interfaces
- Struct Embedding
- Generics
- Errors
- Goroutines
- Channels
- Channel Buffering
- Channel Synchronization
- Channel Directions
- Select
- Timeouts
- Non-Blocking Channel Operations
- Closing Channels
- Range over Channels
- Timers
- Tickers
- Worker Pools
- WaitGroups
- Rate Limiting
- Atomic Counters
- Mutexes
- Stateful Goroutines
- Sorting
- Sorting by Functions
- Panic
- Defer
- Recover
- String Functions
- String Formatting
- Text Templates
- Regular Expressions
- JSON
- XML
- Time
- Epoch
- Time Formatting / Parsing
- Random Numbers
- Number Parsing
- URL Parsing
- SHA256 Hashes
- Base64 Encoding
- Reading Files
- Writing Files
- Line Filters
- File Paths
- Directories
- Temporary Files and Directories
- Embed Directive
- Testing and Benchmarking
- Command-Line Arguments
- Command-Line Flags
- Command-Line Subcommands
- Environment Variables
- Logging
- HTTP Client
- HTTP Server
- Context
- Spawning Processes
- Exec'ing Processes
- Signals
- Exit