Each chapter includes a project part where you build a CLI word analytics tool called Grolyze.
Basic level programming experience in any language is fine.
20 hours total on your own pace. Most topics take 5-15 minutes.
Any questions or feedback ? Join the Telegram Community
Welcome to Essential Go!
It is a simple and interactive guide to learning Go.
Yes, it is interactive. You will read less words and write more code in each topic.
This guide is designed for both for beginners and experienced developers.
Programming is better when we work together.
If you find a typo, a bug, or have an idea to improve something, your feedback is welcome. You can:
- Open an Issue or PR on GitHub
- Join us on Telegram Community.
I hope this guide helps you build something amazing.
Happy Coding!
Start learning now 👇
| Chapters | Topic No | Topics |
|---|---|---|
| Intro | ||
| 1 | Preface | |
| 2 | Go Philosophy | |
| 3 | Setup | |
| 4 | How to Use | |
| 5 | Project Info | |
| Basics | ||
| 6 | Hello World | |
| 7 | Program Structure | |
| 8 | Comments | |
| 9 | Build a Project - Part 1 | |
| Variables | ||
| 10 | Variables | |
| 11 | Types | |
| 12 | Const | |
| 13 | Build a Project - Part 2 | |
| Data Structures | ||
| 14 | Arrays | |
| 15 | Slices | |
| 16 | Maps | |
| 17 | Build a Project - Part 3 | |
| Flow Controls | ||
| 18 | For | |
| 19 | If | |
| 20 | Switch | |
| 21 | Build a Project - Part 4 | |
| Functions | ||
| 22 | Functions | |
| 23 | Arguments | |
| 24 | Multiple Returns | |
| 25 | Variadic | |
| 26 | Defer | |
| 27 | Build a Project - Part 5 | |
| Pointers | ||
| 28 | Pointers | |
| 29 | More Pointers | |
| 30 | Build a Project - Part 6 | |
| Structs | ||
| 31 | Structs | |
| 32 | Methods | |
| 33 | Exported Fields | |
| 34 | Build a Project - Part 7 | |
| Interfaces | ||
| 35 | Interfaces | |
| 36 | Type Assertions | |
| 37 | Build a Project - Part 8 | |
| Generics | ||
| 38 | Generics | |
| 39 | Generic Constraints | |
| 40 | Build a Project - Part 9 | |
| Errors | ||
| 41 | Errors | |
| 42 | Error Handling | |
| 43 | Skip | |
| 44 | If Err | |
| 45 | Build a Project - Part 10 | |
| Goroutines | ||
| 46 | Goroutines | |
| 47 | Channels | |
| 48 | WaitGroups | |
| 49 | Build a Project - Part 11 | |
| Conclusion | ||
| 50 | Project Conclusion | |
| 51 | What is Next |
