Courses and certifications Dev & Test

API

Go programming language

15.900 CZK

Price (without VAT)

Days2
26. 11.27. 11. 2024
virtual
CZ
28. 1.29. 1. 2025
virtual
CZ
3. 3. 4. 3. 2025
virtual
CZ

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

  1. Elementary information about Go language
    1. Origins of Go, Go versions
    2. Go language use cases
    3. Common features with other languages
    4. Differences between Go and other languages
  2. Go syntax and semantic
    1. Keywords
    2. Data types
    3. Functions, functions visibility from other packages
    4. Data structures
    5. Interfaces
    6. Program blocks
    7. Variable visibility
    8. Conditions
    9. Program loops
    10. Error handling
    11. Operators
    12. Arrays
    13. Associative arrays (maps)
      (everything will be covered by labs)
  3. Concurrency and parallelism in Go
    1. Goroutines
    2. Channels - data structures used to communicate between goroutines
      (everything will be covered by labs)
  4. Practical examples
    1. Working with sockets
    2. HTTP server developed in Go
  5. Go in real world
    1. Testing
    2. Benchmarking
    3. Monitoring

Additional topics

  1. Linters for Go
  2. (Cross)compilation for different CPU architectures and for different OS


Prerequisites

  1. Knowledge of programming, sufficient at a basic level (ideal knowledge of Python, C or Java)
  2. Ability to work in the command line


Other requirements

  1. Computer with Linux distribution, with Windows installed etc.
  2. Web browser
  3. Terminal (console)
  4. Text editor of choice (or IDE, or VSCode etc.)

 

 

 

 

Inquire course

Courses
Submit
* Required field
Cookies help us provide our services. By using our services, you agree to their use.
More information