Skip to content

Divak-ar/go_tutorials

Repository files navigation

Go Tutorials 🦫

Go Gopher

I made this repository public because my friends wanted to learn Go. As a Go enthusiast (or "goblin" as we like to call ourselves), I wanted to share my learning journey with others who are interested in this powerful language.

Learning Path

One of the way to learn is to GO by commit history as learning takes time , so you can see progress there but I know convience is what matters to most so

If you're new to Go, I recommend following these tutorials in order:

1. Basics 🏗️🏗️

  • tut_1 - Introduction to Go fundamentals: variables, data types, functions, error handling, arrays, slices, maps and loops
  • tut_2 - Object-oriented concepts in Go: structs, interfaces, methods, and pointers
  • tut_3 - More advanced concepts: input handling, working with time, defer statements

2. Concurrency ⚡

  • routines - Go's powerful concurrency model including goroutines, WaitGroups, mutexes, channels, and generics

3. Standard Library Modules 📦

  • fs - File system operations and working with files
  • http - HTTP client implementation and URL handling

4. Web Development 🕸️

  • web/jsonData - Working with JSON in Go applications
  • web/web_requests - Making HTTP requests and handling responses
  • web_request - Advanced API interactions and environment configuration

5. Building APIs 🛠️

  • Mods - Understanding Go modules and dependency management
  • api - Building a RESTful API with CRUD operations
  • mongo_api - Complete API with MongoDB integration

6. Fun Projects 🕹️

  • pong_game - Simple Pong game implementation using the Ebiten game engine

Go's Standard Library 📚

One of Go's biggest strengths is its comprehensive standard library. Throughout these tutorials, you'll see how powerful packages like net/http, io, encoding/json, and others make it easy to build robust applications without heavy dependencies.

Contributing 🤝

Feel free to fork this repository and contribute your own Go learning materials! Whether it's fixing a bug, adding comments, or creating completely new tutorials, all contributions are welcome. Also , reach out if you learning something new , and building projects with Go .

Why Go? 💙

Go combines the performance of lower-level languages with the simplicity and productivity of higher-level ones. Its built-in concurrency model (goroutines and channels) makes it perfect for modern, distributed systems. As a goblin who's fallen in love with this language, I hope these tutorials help you appreciate Go's elegance and power!

Happy coding! 👩‍💻👨‍💻

Releases

No releases published

Packages

No packages published