Learn Go
// Materi Part 01 seri belajar Go untuk software engineer: mental model Go, tujuan desain bahasa, cara membaca program Go, dan rencana 20 jam pertama berbasis framework The First 20 Hours.
This overview is designed to help you choose the right entry point quickly. Follow the full track from lesson one, continue from your last checkpoint, or jump straight into a phase that matches what you need right now.
Curriculum Map
Navigate by phase, then choose the lesson that matches your current depth.
Mental Model Go: Bahasa Kecil untuk Sistem Besar
17 minMateri Part 01 seri belajar Go untuk software engineer: mental model Go, tujuan desain bahasa, cara membaca program Go, dan rencana 20 jam pertama berbasis framework The First 20 Hours.
Environment, Toolchain, dan Workflow Go yang Benar
12 minMateri Part 02 seri belajar Go untuk software engineer: instalasi Go, go env, module, go.mod, go.sum, command utama, linting, testing, Makefile, dan workflow lokal production-grade.
Syntax, Values, Types, dan Zero Value
13 minMateri Part 03 seri belajar Go untuk software engineer: syntax dasar, values, variables, constants, primitive types, zero value, type inference, conversion, iota, dan mental model compiler Go.
Control Flow, Functions, dan Error Basics
12 minMateri Part 04 seri belajar Go untuk software engineer: if, for, switch, defer, functions, multiple return values, named returns, guard clause, panic vs error, dan dasar error handling idiomatik Go.
Arrays, Slices, Maps, Strings, Bytes, dan Runes
12 minMateri mendalam tentang arrays, slices, maps, strings, bytes, dan runes di Go, termasuk mental model, failure mode, praktik idiomatik, dan latihan deliberate practice untuk software engineer.
Structs, Methods, Interfaces, dan Composition
12 minMateri mendalam tentang structs, methods, interfaces, dan composition di Go, termasuk method set, receiver, implicit interface implementation, dan desain API idiomatik untuk software engineer.
Pointers, Memory, Allocation, dan Escape Analysis
13 minMateri mendalam tentang pointer, value semantics, allocation, escape analysis, mutability boundary, dan desain API Go yang aman untuk software engineer.
Packages, Modules, Visibility, dan Dependency Boundaries
15 minMateri mendalam tentang package, module, exported identifier, internal package, go.mod, go.sum, workspace, dan dependency boundary dalam Go.
Idiomatic Go: Dari Bisa Menulis ke Bisa Dibaca
13 minMateri mendalam tentang idiomatic Go untuk software engineer: readability, naming, package design, interfaces, error style, API design, dan checklist code review Go.
Error Handling, Domain Failure, dan Defensive Boundaries
12 minMateri mendalam tentang error handling di Go: error as value, wrapping, errors.Is, errors.As, sentinel error, custom error, domain failure, retryability, dan boundary translation.
Testing Fundamentals: Unit, Table Test, Example, dan Testdata
13 minMateri mendalam tentang testing fundamental di Go: unit test, table-driven test, subtest, helper, testdata, golden file, example test, coverage, dan desain test yang stabil.
Benchmarking, Fuzzing, dan Property-style Thinking
11 minMateri mendalam tentang benchmark, fuzzing, dan property-style thinking di Go: b.N, allocation measurement, fuzz target, seed corpus, invariants, dan regression testing.
Goroutines, Channels, dan Select: Mental Model Concurrency Go
13 minMateri mendalam tentang goroutine, channel, select, pipeline, worker pool, backpressure, cancellation, dan failure mode concurrency Go untuk software engineer.
Sync Primitives: Mutex, WaitGroup, Once, Cond, dan Atomic
12 minMateri mendalam tentang primitive sync Go: Mutex, RWMutex, WaitGroup, Once, Cond, sync.Map, atomic, lock design, deadlock, data race, dan concurrency correctness.
Context, Cancellation, Deadline, dan Lifecycle Control
15 minMateri mendalam tentang context.Context di Go: cancellation, timeout, deadline, request lifecycle, graceful shutdown, dan desain API cancellation-aware untuk service production-grade.
Go Memory Model, Race Detector, dan Concurrency Correctness
16 minMateri mendalam tentang Go Memory Model, happens-before, data race, synchronization, race detector, dan cara menulis concurrent Go code yang benar secara produksi.
Runtime Go: Scheduler, Stack, GC, dan Cost Model
18 minPanduan mendalam runtime Go untuk software engineer: scheduler, goroutine stack, garbage collector, allocation pressure, syscall, blocking operation, runtime metrics, dan cost model production.
Standard Library I/O: Files, Buffers, Readers, Writers, Encoding
13 minPanduan mendalam standard library I/O Go: io.Reader, io.Writer, os, fs, embed, bufio, JSON, CSV, streaming, error handling, dan resource management production-grade.
HTTP Client dan Server yang Benar
13 minPanduan production-grade untuk membangun HTTP client dan server di Go: net/http, handler, middleware, timeout, context, body lifecycle, connection pooling, dan error contract.