Go by Example
Go is an open source programming language designed for building simple, fast, and reliable software.
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.Order by Update
- 
Optimize String Append 2014/09/13
- 
Memory and Sizeof 2014/09/10
- 
Constants and iota 2014/09/09
- 
Text Template 2014/09/09
- 
Time 2014/09/09
- 
Time Formatting / Parsing 2014/09/08
- 
File Name Parsing 2014/09/07
- 
HTTP Client 2014/09/07
- 
Arrays 
- 
Atomic Counters 
- 
Base64 Encoding 
- 
Channel Buffering 
- 
Channel Directions 
- 
Channel Synchronization 
- 
Channels 
- 
Closing Channels 
- 
Closures 
- 
Collection Functions 
- 
Command-Line Arguments 
- 
Command-Line Flags 
- 
Defer 
- 
Environment Variables 
- 
Epoch 
- 
Errors 
- 
Exec'ing Processes 
- 
Exit 
- 
For 
- 
Functions 
- 
Goroutines 
- 
Hello World 
- 
If/Else 
- 
Interfaces 
- 
JSON 
- 
Line Filters 
- 
Maps 
- 
Methods 
- 
Multiple Return Values 
- 
Mutexes 
- 
Non-Blocking Channel Operations 
- 
Number Parsing 
- 
Panic 
- 
Pointers 
- 
Random Numbers 
- 
Range 
- 
Range over Channels 
- 
Rate Limiting 
- 
Reading Files 
- 
Recursion 
- 
Regular Expressions 
- 
SHA1 Hashes 
- 
Select 
- 
Signals 
- 
Slices 
- 
Sorting 
- 
Sorting by Functions 
- 
Spawning Processes 
- 
Stateful Goroutines 
- 
String Formatting 
- 
String Functions 
- 
Structs 
- 
Switch 
- 
Tickers 
- 
Timeouts 
- 
Timers 
- 
URL Parsing 
- 
Values 
- 
Variables 
- 
Variadic Functions 
- 
Worker Pools 
- 
Writing Files 
Order by sequence
- 
Hello World 
- 
Values 
- 
Variables 
- 
Constants and iota 2014/09/09
- 
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 
- 
Timeouts 
- 
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 2014/09/09
- 
Epoch 
- 
Time Formatting / Parsing 2014/09/08
- 
Random Numbers 
- 
Number Parsing 
- 
URL Parsing 
- 
SHA1 Hashes 
- 
Base64 Encoding 
- 
Reading Files 
- 
Writing Files 
- 
File Name Parsing 2014/09/07
- 
Line Filters 
- 
Command-Line Arguments 
- 
Command-Line Flags 
- 
Environment Variables 
- 
Spawning Processes 
- 
Exec'ing Processes 
- 
Signals 
- 
Exit 
- 
HTTP Client 2014/09/07
- 
Text Template 2014/09/09
- 
Memory and Sizeof 2014/09/10
- 
Optimize String Append 2014/09/13
Order by category
Advanced (2)
basic (25)
- 
Hello World 
- 
Values 
- 
Variables 
- 
Constants and iota 2014/09/09
- 
For 
- 
If/Else 
- 
Switch 
- 
Arrays 
- 
Slices 
- 
Maps 
- 
Range 
- 
Functions 
- 
Multiple Return Values 
- 
Variadic Functions 
- 
Closures 
- 
Recursion 
- 
Pointers 
- 
Structs 
- 
Methods 
- 
Interfaces 
- 
Errors 
- 
Select 
- 
Panic 
- 
Defer 
- 
Exit 
lib (26)
- 
Sorting 
- 
Sorting by Functions 
- 
Collection Functions 
- 
String Functions 
- 
String Formatting 
- 
Regular Expressions 
- 
JSON 
- 
Time 2014/09/09
- 
Epoch 
- 
Time Formatting / Parsing 2014/09/08
- 
Random Numbers 
- 
Number Parsing 
- 
URL Parsing 
- 
SHA1 Hashes 
- 
Base64 Encoding 
- 
Reading Files 
- 
Writing Files 
- 
File Name Parsing 2014/09/07
- 
Line Filters 
- 
Command-Line Arguments 
- 
Command-Line Flags 
- 
Environment Variables 
- 
Spawning Processes 
- 
Exec'ing Processes 
- 
Signals 
- 
Text Template 2014/09/09
multitask (16)
- 
Goroutines 
- 
Channels 
- 
Channel Buffering 
- 
Channel Synchronization 
- 
Channel Directions 
- 
Timeouts 
- 
Non-Blocking Channel Operations 
- 
Closing Channels 
- 
Range over Channels 
- 
Timers 
- 
Tickers 
- 
Worker Pools 
- 
Rate Limiting 
- 
Atomic Counters 
- 
Mutexes 
- 
Stateful Goroutines 
robot (1)
Order by author
dlintw (5)
- 
File Name Parsing 2014/09/07
- 
HTTP Client 2014/09/07
- 
Text Template 2014/09/09
- 
Memory and Sizeof 2014/09/10
- 
Optimize String Append 2014/09/13
mmcgrana (65)
- 
Hello World 
- 
Values 
- 
Variables 
- 
Constants and iota 2014/09/09
- 
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 
- 
Timeouts 
- 
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 2014/09/09
- 
Epoch 
- 
Time Formatting / Parsing 2014/09/08
- 
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