This is my jounery to learn Go in 30 days throught projects and hand-on tutorials. You can find all resources I've been using day after day. I was inspired by the mantra "Learn something by building" after reading Pragmatic Thinking and Learning book. To learn most of the concepts I've been using Learn Go with Tests. For more resources, see Let's Go post
- Day 0: Install, Hello, world
- Day 1: Integers, Iteration
- Day 2: "Guess the number" game, Array and Slices
- Day 3: Structs, methods & interfaces
- Day 4: Writing a simple shell in Go from Build your own shell
- Day 5: Revisit "Writing a simple shell in Go", Pointers & errors
- Day 6: Maps
- Day 7: Dependency Injection
- Day 8: "Fortune" clone
- Day 9: Word wrap, Cowsay
- Day 10: Go lolcat
- Day 11: Visualize your local Git contributions with Go
- Day 12: Mocking
- Day 13: Revisiting pointers, functions and methods for structs
- Day 14: Persistent key-value store
- Day 15: Change wallpaper from /r/wallpaper subreddit
- Day 16: A Slack bot to convert currencies
- Day 17: Revisiting errors again
- Day 18: Linked List
- Day 19: Concurrency
- Day 20: Select
- Day 21: The Super tiny compiler
- Day 22: Reflection
- Day 23: REST API with Fiber
- Day 24: Build and test a REST API
- Day 25: Caesar cipher
- Day 26: Sync
- Day 27: Context
- Day 28: Roman numerals kata
- Day 29: API Client for Day 23 API
- Day 30: Create a CLI wrapper for XKCD API
- Day 31: Chat with Network Sockets
- Day 32: Revisiting Sockets. Simple Echo server
- Day 33: Simple FTP Client
- Day 34: Revisit Login for FTP Client
- Day 35: Revisit List files for FTP Client
- Day 36: Refactor FTP Client
- Day 37: Writing a SQL database from scratch in Go: 1
- Day 38: Writing a SQL database from scratch in Go: 2
- Day 39: Let's create a simple load balancer