This repository contains my training path to master GoLang in one month.
Resources can be found here.
Trying out Go by Example by @mmcgrana, i've created one go file for each topic.
- Variables
- Constants
- For
- If/Else
- Switch
- Arrays
- Slices
- Maps
- Range
- Functions
- Multiple Return Values
- Variadic Functions
- Closures
- Recursion
- Pointers
- Structs
- Methods
- Interfaces
- Errors
- Goroutines
- Channels
- Channel Buffering
- Channel Synchronization
- Channel Directions
- Select
- Non-Blocking Channel Operations
- Closing Channels
- Range over Channels
- Timers
- Tickers
- Worker Pools
- Rate Limiting
- Atomic Counters
- Mutexes
- Stateful Goroutines
- Sorting
- Sorting by Functions
- Panic
- Defer
- Collection Functions
- String Functions
- String Formatting
- Regular Expressions
- JSON
- Time
- Epoch
- Time Formatting / Parsing
- Random Numbers
- Number Parsing
- URL Parsing
- SHA1 Hashes
- Base64 Encoding
- Reading Files
- Writing Files
- Line Filters
- Command-Line Arguments
- Command-Line Flags
- Environment Variables
- Spawning Processes
- Exec'ing Processes
- Signals
- Exit
This section is for discovering Go official or unofficial packages. It is like a sandbox for more advanced examples and tools that can be useful when doing awsome things.
-
This example uses
golang.org/x/crypto/ssh
to run an arbitary commands in a remote server. May be useful when creating programs that needs to make sshing stuff in a remote server.