Inspired from Go by Example by Mark McGranaghan and Eli Bendersky (Creative Commons Attribution 3.0 Unported License), this is an attempt to document the Go learning journey with additional details and features. Of course, thanks to ChatGPT for most of the explanations π¦Ύ
This is an open-source effort meant to be freely accessible by the community.
For contributing with code, here's a quick guideline π
- Go to https://github.com/ineelhere/code-with-go
- You need to either clone the repository or fork it
- Create a branch of your own, preferably from the
dev
branch - Commit your changes
- Raise a PR to the
dev
branch - Now you chill while I review the codeπ₯€
- Code With Go! π
- Hello World
- Values
- Variables
- Constants
- For Loop
- If Else
- Switch
- Array
- Slice
- Map
- Range
- Functions
- Multiple Return Values
- Variadic Functions
- Closure
- Recursion
- Pointers
- Strings and Runes
- Structs
- Methods
- Interfaces
- Struct Embedding
- Generics
- Error
- Goroutines
- Channels
- Channel Buffering
- Channel Synchronization
- Channel Directions
- Select
- Timeouts
- Non-Blocking Channel Operations
- Closing Channels
- Range over Channels
- Timers
- Tickers
- Worker Pools
- Wait Groups
- 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
- 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
Β© Indraneel Chakraborty
| 2024 π§βπ»