Skip to content

whalelogic/Go-Programming

Repository files navigation

🧠 Go Programming: Learning & Reference

This repository is a comprehensive learning resource for Go (Golang), featuring core language concepts, data structures, algorithms, and advanced topics. It focuses on performance, clarity, and idiomatic code, with detailed technical reference tables for the standard library.


📚 Repository Structure

The repository is organized by topic to make finding specific information and examples easy.

Core language fundamentals and mechanics.

  • Variables: Declarations, types, and scope.
  • Functions: Technical table of function features, closures, and variadic parameters.
  • Structs: Custom types and composition.
  • Interfaces: Duck typing and decoupling in Go.
  • Errors: Idiomatic error handling patterns.
  • Language Spec: Official Go specification files.

Built-in and custom data structure implementations.

  • Slices: Reference table for slice operations and the slices package.
  • Maps: Reference table for map operations and the maps package.
  • Strings: Reference table for strings and strconv packages.
  • Linked Lists: Custom implementations and container/list.
  • Stacks: Slice-based and linked-list stack implementations.
  • Trees: Binary trees, BSTs, and traversal algorithms.

Common algorithms implemented in Go.

  • Sorting: Quick Sort, Merge Sort, and the sort package reference.
  • Searching: Binary search and other search techniques.
  • Recursion: Factorials, Fibonacci, and recursive patterns.

Detailed guides and technical tables for Go's standard packages.

  • Built-in Functions: Full technical table of all Go built-ins (append, make, len, clear, etc.).
  • OS: File system, environment variables, and process management.
  • IO: Readers, writers, and stream manipulation.
  • Utilities: Common helper functions, filters, and file operations.

Complex systems and concurrent programming.

  • Concurrency: Goroutines, channels, and synchronization primitives.
  • Networking: TCP/UDP, JSON fetching, and URL parsing.
  • Web: HTTP servers, templates, and REST API examples.

🚀 Getting Started

Each directory contains a main.go or specific example files. You can run them directly using the Go tool:

# Example: Run the built-in functions demo
go run standard_library/builtins/main.go

🛠 Features

  • Technical Tables: Most documentation files include "Quick Reference" tables for functions, methods, and types.
  • Idiomatic Code: Examples follow Go best practices and utilize modern features (Go 1.21+ where applicable).
  • Comprehensive Coverage: From basic variables to advanced concurrency and networking.

Happy Coding in Go!

About

Learn Go through real implementations of data structures, algorithms, networking, and web systems.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages