Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

bhaumikmaan/Understanding-GoLang

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GO LANG FUNDAMENTALS

This repository contains notes and code examples from my GoLang Fundamentals course, structured as a series of blog-style entries.

bhaumikmaan - GoLang-Fundamentals   stars - GoLang-Fundamentals   forks - GoLang-Fundamentals   License

Read Blog 1 on Medium   Read Blog 2 on Medium   Read Blog 3 on Medium   Star this repo

Building with Go: My Journey Through GoLang Fundamentals 🚀

Go has rapidly become a go-to language for building scalable, high-performance, and concurrent applications. After completing a comprehensive course, I've consolidated my learnings into this series of blog posts. If you're looking to understand why Go is so powerful and how to get started, this is for you. Dive in to explore its elegant simplicity and robust features!

img.png


Your Path to Go Proficiency 🛠️

This series breaks down Go's core concepts step-by-step, providing a clear roadmap to understanding its capabilities.

All the diagrams from there series are available here. To view, copy and paste into draw.io


This post covers the absolute essentials to kickstart your Go journey.

  • Why Go? Understand Go's philosophy of simplicity, performance, and concurrency.
  • Environment Setup: Get started with Go installation and essential CLI commands like go run, go build, and go fmt.
  • Packages & Modules: Learn how Go organizes code into reusable packages and manages dependencies with Go Modules.
  • Basic Declarations: Master defining variables (with type inference and zero values) and functions (with multiple returns).
  • Arrays & Slices: Explore fixed-length arrays and Go's dynamic, flexible slices, including how to append and iterate.

Checkout the Implementation here: Card - Slices & Modules


This part expands your Go toolkit, enabling more sophisticated data handling and development practices.

  • Custom Types & Receivers: Define your own custom types and attach methods using receivers, bringing behavior to your data.
  • Structs: Learn to create structs for grouping related properties and how to embed them for powerful composition.
  • Maps: Understand maps as Go's versatile key-value data structure, perfect for dynamic collections.
  • File Management: Interact with the file system using the os package to read from and write to files.
  • Testing in Go: Discover Go's built-in, lightweight testing framework for ensuring code quality and reliability.

Checkout the Implementation here:


The final installment dives into Go's most powerful and distinctive features, essential for building high-performance, scalable applications.

  • Pointers: Grasp the concept of pointers for direct memory access and understand their role in Go's pass-by-value paradigm, especially with structs.
  • Interfaces: Explore Go's elegant and implicit interfaces for achieving polymorphism and writing flexible, decoupled code.
  • Concurrency (Goroutines & Channels): Dive into Goroutines (lightweight execution units) and Channels (for safe communication between them), which form the backbone of Go's powerful concurrency model.
  • HTTP Operations: Learn how to perform basic HTTP requests and understand the fundamental role of io.Reader and io.Writer interfaces in handling web data.

Checkout the Implementation here:


Resources & Further Study 📚

Ready to dive deeper? Here's a curated list of resources to enhance your Go knowledge:

  • The Go Programming Language Specification: Link
  • Go Standard Library Documentation: Link
  • Go Build Options: Link
  • Building and Consuming Custom Packages in Go: Link
  • Package Management in Go: Link
  • Golang Project Structuring — Ben Johnson Way: Link
  • Golang Deep and Shallow Copy a Slice: Link
  • Internals of Go: Link
  • A Look at Iterators in Go: Link
  • Leveraging Go's Iterator Pattern: Link
  • Interfaces in Golang: A Deeper Look: Link
  • A Straightforward Guide for Go Interface: Link
  • Go Interfaces for New Gophers: Link
  • Understanding the Power of Go Interfaces: A Comprehensive Guide: Link
  • Interfaces in Golang with Examples: Link

Releases

No releases published

Packages

No packages published

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.