golang

    Go (Golang) Course

    Master Go (Golang) — goroutines, channels, REST APIs, PostgreSQL, Docker, microservices, and cloud-native interviews.

    45
    Lessons
    7
    Modules
    0/45
    Completed
    Curriculum

    Enterprise learning path

    7 modules · 45 lessons

    Module 1 · Getting Started

    0/6 complete
    1. 1
      Introduction to Go
      Next up

      Welcome to the Go Programming course on TechLearningPRO — a structured path from your first Hello, world to production-ready HTTP APIs, PostgreSQL integrations, Docker deploymen…

    2. 2
      Installing Go & Development Environment

      Before writing production Go, you need a reliable toolchain: the Go SDK, an editor with gopls (Go language server), and environment variables configured correctly.

    3. 3
      Your First Go Program

      Every Go journey starts with a small program that compiles, runs, and prints output.

    4. 4
      Variables and Data Types

      Go's type system is statically typed with type inference via the short declaration operator :=.

    5. 5
      Constants & Operators

      Constants in Go are compile-time values declared with const.

    6. 6
      Input and Output

      Go's fmt package handles formatted I/O; bufio adds buffered reading for performance; os provides stdin, stdout, and stderr file descriptors.

    Module 2 · Control Flow

    0/5 complete
    1. 7
      If, Else & Switch

      Go's control flow is explicit and readable.

    2. 8
      Loops

      Go has one looping construct: for.

    3. 9
      Functions

      Functions are first-class in Go — they can be assigned to variables, passed as arguments, and returned from other functions.

    4. 10
      Multiple Return Values

      Go's signature feature is returning multiple values — typically (result, error).

    5. 11
      Error Handling Basics

      Go treats errors as values implementing the error interface: Error() string.

    Module 3 · Core Language

    0/9 complete
    1. 12
      Arrays

      An array in Go is a fixed-size sequence of elements of the same type.

    2. 13
      Slices

      Slices are Go's workhorse collection — dynamic views into underlying arrays with length and capacity.

    3. 14
      Maps

      Maps are Go's hash table — unordered key-value collections.

    4. 15
      Structs

      Structs group named fields into a single type — Go's primary data composition mechanism.

    5. 16
      Methods

      Methods are functions with a receiver — a special parameter before the function name that binds the function to a type.

    6. 17
      Interfaces

      Interfaces define behavior contracts — a set of method signatures.

    7. 18
      Pointers

      Pointers hold memory addresses of values.

    8. 19
      Packages

      Packages are Go's unit of compilation and namespacing.

    9. 20
      Modules

      Go modules are the official dependency management system introduced in Go 1.11 and default in 1.16+.

    Module 4 · Concurrency

    0/7 complete
    1. 21
      Goroutines

      A goroutine is a lightweight thread managed by the Go runtime — start one with the go keyword.

    2. 22
      Channels

      Channels are typed conduits for sending and receiving values between goroutines — "Don't communicate by sharing memory; share memory by communicating." Unbuffered channels synch…

    3. 23
      Buffered Channels

      Buffered channels have a capacity — sends succeed without blocking until the buffer fills.

    4. 24
      Select Statement

      The select statement waits on multiple channel operations simultaneously — like switch for channels.

    5. 25
      WaitGroup

      sync.WaitGroup waits for a collection of goroutines to finish.

    6. 26
      Mutex

      sync.Mutex provides mutual exclusion — only one goroutine holds the lock at a time.

    7. 27
      Context Package

      The context package carries deadlines, cancellation signals, and request-scoped values across API boundaries and goroutines.

    Module 5 · File & Network Programming

    0/5 complete
    1. 28
      File Handling

      Go's os and io packages handle file operations with explicit error checking.

    2. 29
      JSON Processing

      The encoding/json package marshals Go structs to JSON and unmarshals JSON into typed values.

    3. 30
      HTTP Client

      Go's net/http client is production-grade — no third-party library required for most API integrations.

    4. 31
      HTTP Server

      Go's net/http server powers millions of production APIs.

    5. 32
      REST API Development

      Building a REST API in Go combines net/http routing, JSON encoding, validation, and layered architecture (handler → service → repository).

    Module 6 · Database & Testing

    0/5 complete
    1. 33
      Working with PostgreSQL/MySQL

      The database/sql package provides a generic SQL interface with connection pooling.

    2. 34
      CRUD Operations

      CRUD (Create, Read, Update, Delete) is the backbone of every backend API.

    3. 35
      Unit Testing

      Go's testing package is built-in — no JUnit equivalent needed.

    4. 36
      Benchmark Testing

      Benchmarks measure performance with func BenchmarkXxx(b *testing.B).

    5. 37
      Logging

      Go 1.21 introduced log/slog — structured logging in the standard library.

    Module 7 · Production Development

    0/8 complete
    1. 38
      Dependency Injection

      Go has no built-in DI framework like .NET — dependency injection is explicit constructor injection.

    2. 39
      Configuration Management

      Production Go services load configuration from environment variables, .env files (development only), YAML/JSON files, and secret managers (AWS Secrets Manager, Vault).

    3. 40
      Dockerizing Go Applications

      Go's static binaries shine in Docker — build a minimal image with scratch or distroless base, often under 20MB.

    4. 41
      Building Microservices

      Microservices in Go decompose systems into independently deployable services communicating via HTTP/gRPC and async messaging (Kafka, NATS, RabbitMQ).

    5. 42
      Performance Optimization

      Go is fast by default, but production services need deliberate optimization: pprof profiling, reducing allocations, connection pooling, and caching.

    6. 43
      Security Best Practices

      Go backend security spans input validation, SQL injection prevention, authentication (JWT, OAuth2), HTTPS/TLS, secrets management, and dependency scanning.

    7. 44
      Deployment Basics

      Deploying Go services means building static binaries, containerizing, and running on Kubernetes, AWS ECS, Google Cloud Run, or VM systemd services.

    8. 45
      Interview Preparation & Final Project

      Congratulations — you've completed 45 lessons covering Go fundamentals through production deployment. Includes interactive Go interview question bank.