[go: up one dir, main page]

0% found this document useful (0 votes)
4 views1 page

Golang

Uploaded by

Kris
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views1 page

Golang

Uploaded by

Kris
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

Related Roadmaps Find the interactive version of this roadmap

and more roadmaps at


Backend Roadmap
DevOps Roadmap
roadmap.sh
Docker Roadmap Go
Kubernetes Roadmap

Why use Go History of Go

Language Basics Introduction to Go Setting up the Environment

Hello World in Go `go` command

Variables & Constants Data Types Numeric Types

Integers (Signed, Unsigned)

Floating Points
var vs := Commands & Docs

Complex Numbers
Zero Values

const and iota Boolean Runes

Scope and Shadowing Composite Types


Strings

Raw String Literals

Capacity and Growth Interpreted String Literals


Arrays
make()
Slices Type Conversion

Slice to Array Conversion


Strings
Array to Slice Conversion
Maps Comma-Ok Idiom

Struct Tags & JSON

Embedding Structs Structs

for loop for range Loops Conditionals

Iterating Maps
if if-else switch
Iterating Strings

break continue
Functions Functions Basics

goto (discouraged)
Variadic Functions

Multiple Return Values


Pointers Basics
Anonymous Functions
Pointers with Structs Pointers
Closures
With Maps & Slices
Named Return Values

Get a Brief Overview


Call by Value

Memory Management
Methods and Interfaces
Why Generics?
Garbage Collection

Generic Functions

Methods vs Functions Generic Types / Interfaces

Pointer Receivers Type Constraints

Interfaces Basics Value Receivers Type Inference

Empty Interfaces

Embedding Interfaces Interfaces Generics

Type Assertions

Type Switch
Code Organization Error Handling

go mod init Error Handling Basics

go mod tidy Modules & Dependencies `error` interface

go mod vendor Packages errors.New fmt.Errorf

Package Import Rules Wrapping/Unwrapping Errors

Select Statement Using 3rd Party Packages Sentinel Errors

Buffered vs Unbuffered Publishing Modules `panic` and `recover`

Stack Traces & Debugging


Channels

Goroutines Concurrency
fan-in fan-out pipeline
Worker Pools

`sync` Package `context` Package Concurrency Patterns

Mutexes WaitGroups
Deadlines & Cancellations Race Detection

Common Usecases
`testing` package basics

Table-driven Tests

Mocks and Stubs Testing & Benchmarking Standard Library

`httptest` for HTTP Tests

I/O & File Handling


Benchmarks Coverage

Ecosystem & Popular Libraries flag time encoding/json

os bufio slog regexp


Cobra urfave/cli
go:embed for embedding
bubbletea Building CLIs

net/http (standard) Web Development gRPC & Protocol Buffers

Frameworks (Optional)
ORMs & DB Access pgx GORM
gin echo

fiber beego
Logging Zerolog Zap

Go Toolchain and Tools Realtime Communication Melody Centrifugo

Core Go Commands Code Quality and Analysis Code Generation / Build Tags

go vet goimports go generate


go run go build

go install go fmt Linters Build Tags

revive staticcheck
go mod go test
Performance and Debugging
golangci-lint
go clean go doc pprof trace

Security
go version Race Detector
govulncheck

Deployment & Tooling

Advanced Topics Building Executables

Memory Mgmt. in Depth Cross-compilation

Escape Analysis

Reflection

Unsafe Package

Build Constraints & Tags


Visit the following roadmaps to keep learning

CGO Basics
Backend DevOps Docker Kubernetes

Compiler & Linker Flags

Plugins & Dynamic Loading

AI Tutor Have a question? Type here

You might also like