Go, by example

Go by example - concurrency, simplicity, and production idioms.

86 lessons ยท Updated 2026-10-09

  1. 01
    Hello, World
  2. 02
    Packages and Modules
  3. 03
    Values
  4. 04
    Variables
  5. 05
    Constants
  6. 06
    For
  7. 07
    If/Else
  8. 08
    Switch
  9. 09
    Arrays
  10. 10
    Slices
  11. 11
    Maps
  12. 12
    Functions
  13. 13
    Closures
  14. 14
    Pointers
  15. 15
    Structs
  16. 16
    Methods
  17. 17
    Multiple Return Values
  18. 18
    Variadic Functions
  19. 19
    Recursion
  20. 20
    Range over Built-in Types
  21. 21
    Strings and Runes
  22. 22
    Interfaces
  23. 23
    Enums
  24. 24
    Struct Embedding
  25. 25
    Generics
  26. 26
    Range over Iterators
  27. 27
    Errors
  28. 28
    Custom Errors
  29. 29
    Goroutines
  30. 30
    Channels
  31. 31
    Channel Buffering
  32. 32
    Channel Synchronization
  33. 33
    Channel Directions
  34. 34
    Select
  35. 35
    Timeouts
  36. 36
    Non-Blocking Channel Operations
  37. 37
    Closing Channels
  38. 38
    Range over Channels
  39. 39
    Timers
  40. 40
    Tickers
  41. 41
    Worker Pools
  42. 42
    WaitGroups
  43. 43
    Rate Limiting
  44. 44
    Atomic Counters
  45. 45
    Mutexes
  46. 46
    Stateful Goroutines
  47. 47
    Sorting
  48. 48
    Sorting by Functions
  49. 49
    Panic
  50. 50
    Defer
  51. 51
    Recover
  52. 52
    String Functions
  53. 53
    String Formatting
  54. 54
    Text Templates
  55. 55
    Regular Expressions
  56. 56
    JSON
  57. 57
    XML
  58. 58
    Time
  59. 59
    Epoch
  60. 60
    Time Formatting / Parsing
  61. 61
    Random Numbers
  62. 62
    Number Parsing
  63. 63
    URL Parsing
  64. 64
    SHA256 Hashes
  65. 65
    Base64 Encoding
  66. 66
    Reading Files
  67. 67
    Writing Files
  68. 68
    Line Filters
  69. 69
    File Paths
  70. 70
    Directories
  71. 71
    Temporary Files and Directories
  72. 72
    Embed Directive
  73. 73
    Testing and Benchmarking
  74. 74
    Command-Line Arguments
  75. 75
    Command-Line Flags
  76. 76
    Command-Line Subcommands
  77. 77
    Environment Variables
  78. 78
    Logging
  79. 79
    HTTP Client
  80. 80
    HTTP Server
  81. 81
    TCP Server
  82. 82
    Context
  83. 83
    Spawning Processes
  84. 84
    Exec'ing Processes
  85. 85
    Signals
  86. 86
    Exit
Enjoyed this? Get more software craft delivered to your inbox.