Skip to content

57Ajay/go_learn

Repository files navigation

go_learn

Welcome to go_learn, a repository documenting my journey into the Go programming language! This repo is a collection of my learning materials, examples, and projects as I explore Go through A Tour of Go and Go by Example.


📚 Learning Sources

  • A Tour of Go: A guided introduction to Go's syntax and features.
  • Go by Example: Practical examples showcasing key Go concepts and idioms.
  • GO Concurrency: For indepth go concurrency notes (by AI)

🛠️ Repository Structure

Here's how the repository is organized:

1. Basics

This folder includes exercises and examples from A Tour of Go and basic concepts like:

  • Variables, constants, and types
  • Functions, methods, and interfaces
  • Control structures (loops, conditionals, etc.)
  • Goroutines and channels (Concurrency)

2. Go by Example -> Abandoned for now

This folder contains examples inspired by Go by Example, including:

  • File handling
  • HTTP servers
  • JSON encoding/decoding
  • Advanced Go idioms

3. Projects -> done!

Hands-on projects where I apply my Go knowledge. Some ideas include:

  • A simple web Crawler: last project from a tour of go(done)
  • ** TCP Servers**: See goMore folder for TCP Servers(done)
  • File Processor: A tool to process and summarize large files.
  • Concurrency Playground: Projects demonstrating Go's concurrency model.(done)
  • more in mind

4. Full redis walkthrough -> Done

  • THis includes all the redis DS and their Operations

🚀 Goals

  • Build a solid foundation in Go programming.
  • Understand and apply Go's idiomatic practices.
  • Develop real-world projects to reinforce learning.
  • Explore Go's concurrency model and performance benefits.

📦 How to Use

  1. Clone this repository:
    git clone https://github.com/57ajay/go_learn.git
    cd go_learn

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published