[go: up one dir, main page]

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

Golang

Uploaded by

kaissraieb
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)
11 views1 page

Golang

Uploaded by

kaissraieb
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
System Design
Software Design & Architecture

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
Concurrency Using 3rd Party Packages

Sentinel Errors
Goroutines Publishing Modules

`panic` and `recover`


Channels

Stack Traces & Debugging


Select Statement
Deadlines & Cancellations
Buffered vs Unbuffered
Common Usecases
fan-in fan-out pipeline
Worker Pools

`sync` Package `context` Package Concurrency Patterns

Mutexes WaitGroups
Race Detection

`testing` package basics

Table-driven Tests Testing & Benchmarking Standard Library

Mocks and Stubs

I/O & File Handling


`httptest` for HTTP Tests

flag time encoding/json


Benchmarks Coverage Ecosystem & Popular Libraries

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

You might also like