Courses and certifications Dev & Test
Go programming language
Price (without VAT)
Go is a relatively new and popular programming language that supports source code compilation into native (machine) code, so the result is fast and memory-efficient applications comparable to the results produced by C, C++, D or Rust compilers. At the same time the Go language uses automatic memory management (GC - garbage collector), so-called goroutines and channels. At the same time Go is based on relatively minimalist syntax, which makes it quite significantly different from C or C++. Currently, Go is mainly used in containers and microservices ecosystems.
Course objective
To inform course participants with all the important features of the Go programming language in such depth that they will be able to create and modify applications written in Go, while the resulting code will be effective and written in an idiomatic way.
Target audience
Users with basic programming knowledge who want to start using this modern programming language.
Course outline
- Elementary information about Go language
- Origins of Go, Go versions
- Go language use cases
- Common features with other languages
- Differences between Go and other languages
- Go syntax and semantic
- Keywords
- Data types
- Functions, functions visibility from other packages
- Data structures
- Interfaces
- Program blocks
- Variable visibility
- Conditions
- Program loops
- Error handling
- Operators
- Arrays
- Associative arrays (maps)
(everything will be covered by labs) - Concurrency and parallelism in Go
- Goroutines
- Channels - data structures used to communicate between goroutines
(everything will be covered by labs) - Practical examples
- Working with sockets
- HTTP server developed in Go
- Go in real world
- Testing
- Benchmarking
- Monitoring
Additional topics
- Linters for Go
- (Cross)compilation for different CPU architectures and for different OS
Prerequisites
- Knowledge of programming, sufficient at a basic level (ideal knowledge of Python, C or Java)
- Ability to work in the command line
Other requirements
- Computer with Linux distribution, with Windows installed etc.
- Web browser
- Terminal (console)
- Text editor of choice (or IDE, or VSCode etc.)