Go Tutorials: Go Methods
Go methods become much easier once you understand one idea: A method is simply a function attached to a type. And the important rule is: A receiver…
Go Tutorials: Modules, Packages, Subpackages, Submodules, and Workspaces
This tutorial gives you one complete mental model for: The most important idea is: And sometimes: These two designs are very different. 1. What is a Go…
Go Tutorials: Numeric Types Beginner Tutorial
Go has four main families of numeric types: The simplest way to remember them is: Type family Stores Example int Whole numbers, positive or negative -10, 0,…
Go Tutorials: Go Testing, Benchmarking, and Profiling
These three topics become much easier once you separate the questions they answer: Topic Main question Main Go tool Result Testing Does my code work correctly? go…
Go Tutorials: Generics
1. What are Generics? Generics let you write one piece of code that works with multiple types while keeping Go’s compile-time type safety. Suppose you want a…
Go Concurrency Management Made Simple
This tutorial covers: The goal is: One concept → one purpose → one complete runnable example. Every example is independent. Save any example as: and run: 0….
Go Tutorials: Concurrency Made Simple
This tutorial covers: The goal is simple: One concept → one mental model → one complete example. Every example is independent. You can copy it into main.go…
Go Tutorials: Dependency Management with Go Modules
Go Modules become much easier once you keep one mental model in mind: Your Go source code says what packages you use. go.mod says which modules/versions provide…
Go Tutorials: Composition Instead of Classical Inheritance
This is one of the most important mindset changes when coming to Go from Java, C++, C#, or Python. The key idea is simple: Inheritance says: “I…
Go Tutorial: Exported and Unexported Identifiers
This concept becomes much easier once you remember one rule: Starts with an uppercase letter → ExportedStarts with a lowercase letter → Unexported In Go, this is…
Go Tutorials: Go Interfaces & Implicit Interface Implementation
These two ideas are closely related. The easiest mental model is: Interface = a list of behaviors.Implicit implementation = Go automatically accepts any type that has those…
Go Tutorials: Go Functions Master Guide
A function is one of the most important building blocks in Go. If you understand functions properly, concepts such as methods, interfaces, goroutines, error handling, defer, callbacks,…
Go Tutorials: Arrays, Slices, Maps, and Structs
These four concepts are fundamental Go data structures. A simple way to remember them: 1. Arrays What is an Array? An array stores multiple values of the…
Go Tutorials – Go Concurrency Beginner Tutorial
Go concurrency becomes much easier when you separate these ideas: A useful mental model is a restaurant kitchen: Go concept Simple analogy Concurrency Several orders being handled…
Go Tutorials – Go Error Management — Easy, Complete Tutorial
The most important rule to remember is: In Go, errors are normal values. A function usually returns an error, and the caller decides what to do with…
Go Tutorials — Module, Package, Function, Method & Interface
These five concepts become much easier once you see how they fit together: The simplest mental model is: Module = ProjectPackage = Folder / code groupFunction =…
Go Tutorials – Generic Programming and Generic Functions in Go
Part 1 — One-Page Summary What is Generic Programming? Generic programming means writing code that can work with different data types without rewriting the same logic for…
Go Tutorials: Go Type Assertions — Easy Basic to Advanced
1. What Is a Type Assertion? A type assertion is used when you have a value stored inside an interface and you want to check or retrieve…
Go Tutorial: Go Interfaces
These three concepts are confusing initially because a method looks almost exactly like a function. The easiest way is to learn them in this order: Function →…
Go Tutorial: Go Functions and Methods
Go programs are built from small pieces of reusable behavior. Two of the most important pieces are: At first they look almost identical. A function: A method:…
Go Tutorial: Go Blank Identifier _ — Master Tutorial
The underscore: is called the blank identifier in Go. The easiest way to understand it is: _ means: “Go gives me this value, but I intentionally do…
HashiCorp Vault Master Lab – PostgreSQL Database Secrets Engine + Userpass Authentication + Vault Policy + Dynamic PostgreSQL Credentials
Complete Beginner-Friendly Hands-On Tutorial for Ubuntu Linux 1. Lab Objective In this lab we will build the following environment on a single Ubuntu Linux server: By the…
HashiCorp Vault Master Lab – Consul Secrets Engine + Userpass Authentication + Vault Policies + Dynamic Consul Credentials
Beginner-Friendly Hands-On Lab for Ubuntu Linux 1. Lab Objective In this lab, we will build the following environment from scratch: By the end of the lab, students…