Course Outline
Go in Context: A Comparison
- Go vs Java, Python, C, and others
- Key design philosophies of Go
- When (and when not) to use Go
Core Language Concepts
- Setting up a Go development environment
- Variables, constants, and types
- Functions and multiple return values
- Control structures: if, switch, for
- Arrays, slices, and maps
- Structs and embedding
- Methods and interfaces
- Understanding pointers in Go
- Error handling idioms and patterns
Concurrency in Go
- Goroutines and the Go runtime scheduler
- Channels and message passing
- Select statements
- Concurrency patterns (fan-out, fan-in, worker pools)
- Synchronization (WaitGroups, Mutexes)
Using Standard and Common Packages
- Working with the fmt, strings, time, and math packages
- File I/O with os and io/ioutil
- HTTP clients and servers with net/http
- JSON parsing and encoding
Project Organization and Go Modules
- Using Go modules for dependency management
- Organizing packages and files
- Building and installing Go applications
Go Tooling
- Using gofmt and go vet for code formatting and linting
- Running and writing unit tests with go test
- Benchmarking and profiling with go test -bench and pprof
- Debugging with Delve (optional)
Summary and Next Steps
- Best practices for Go development
- Overview of Go web frameworks and ecosystem
- Resources for continued learning
Requirements
- Knowledge of any programming language (e.g. C, Java, Python, PHP, etc.).
- This course does not explain basic concepts like loops or if-statements — it focuses on how these are implemented in Go.
Audience
- Software developers familiar with other programming languages
- Backend developers transitioning to Go
- Engineers working on cloud-native or performance-critical applications
Delivery Options
Private Group Training
Our identity is rooted in delivering exactly what our clients need.
- Pre-course call with your trainer
- Customisation of the learning experience to achieve your goals -
- Bespoke outlines
- Practical hands-on exercises containing data / scenarios recognisable to the learners
- Training scheduled on a date of your choice
- Delivered online, onsite/classroom or hybrid by experts sharing real world experience
Private Group Prices RRP from €9120 online delivery, based on a group of 2 delegates, €2880 per additional delegate (excludes any certification / exam costs). We recommend a maximum group size of 12 for most learning events.
Contact us for an exact quote and to hear our latest promotions
Public Training
Please see our public courses
Testimonials (6)
The practical exercises which were really entertaining.
Jurgen Cruz - Focus Engineering SRL
Course - Go Programming Language for Programmers
The Trainer knew niche language concepts and had a historical perspective on how the language has changed since its original release date.
Brandon - DuosTechnologies, Inc.
Course - Go Programming Language for Programmers
The level of detail into the mechanics of why and how something worked was helpful. I also really appreciated having the repo to pull at the day so I could focus on watching what he was explaining.
Sara - DuosTechnologies, Inc.
Course - Go Programming Language for Programmers
The didactic way of presenting
Ivo Abdul - CEDSIF Ministry of Finance
Course - Go Programming Language for Programmers
Concepts of range, slice, swaps,...
Edmundo Manave - CEDSIF Ministry of Finance
Course - Go Programming Language for Programmers
The simplicity of language and the examples given by the teacher