Opleiding: Go Programming

In the course Go Programming participants learn to develop applications using the concise and efficient Go programming language.

Go Intro

The course starts with a discussion of Go's syntax with data types, type inference, arrays, control flow and operators. The difference between rvalues ​​and lvalues ​​is also covered and attention is paid to immutable data.

Functions and Closures

The functions and parameter passing in Go is treated. The distinction between call by value and call by reference is explained. Variadic functions, recursion and closures are also discussed.

Pointers

Then it's time to pay attention to the use of pointers in Go. The difference with pointers in C is explained as well as pointer arithmetic, nil pointers and pointers to pointers.

Classes

Classes in Go are also part of program. The course explains the two ways in which Go offers an alternative to traditional inheritance. The first is embedding and can be seen as an automated form of composition or delegation. The second is the use of Go interfaces, which provide runtime polymorphism.

Error Handling

Also the specific way of error handling in Go with the error and panic interface is discussed. In this respect attention is also paid to the recover interface and the analysis of stack traces.

Concurrency

Finally concurrency in Go with Go routines, sending and receiving with channels and worker pools and synchronization mechanisms are covered.

Audience Course Go Programming

The course Go Programming is intended for developers who want to learn how to program in the Go language and who want to examine its capabilities.

Prerequisites training Go Programming

To participate in this course prior knowledge of and experience with programming in a modern programming language such as Java, C# or Python is necessary.

Realization course Go Programming

The theory is treated on the basis of presentations. Illustrative demos are used to clarify the concepts. There is ample opportunity to practice and theory and exercises are interchanged. The course times are from 9.30 to 16.30.

Certification course Go Programming

Participants receive an official certificate Go Programming after successful completion of the course.

Modules

Module 1 : Intro Go

  • Origins of Go
  • Features of Go
  • Compilation Model
  • Type Inference
  • Concurrency Support
  • Go Routines
  • Native Binaries
  • Intentionally Exclusions
  • Inheritance
  • Operator Overloading
  • Installing Go
  • Comments
  • Go Programs

Module 2 : Language Syntax

  • Identifiers
  • Data Types
  • Integers and Floats
  • Strings and Booleans
  • Derived Types
  • Variable Declaration
  • Static Type Declaration
  • Type Inference
  • lvalues and rvalues
  • Constants
  • String Literals
  • UTF-8 Sequences
  • Immutability

Module 3 : Operators and Control Flow

  • Operator Types
  • Miscellaneous Operators
  • Operator Precedence
  • if and else
  • Nested if
  • switch Statement
  • select Statement
  • for Loop
  • Nested Loops
  • Infinite Loops
  • range Keyword
  • break and continue
  • goto Statement

Module 4 : Functions

  • Function Definition
  • Function Declaration
  • Calling Functions
  • Local and Global Variables
  • Parameters
  • Return Values
  • Call by Value and by Reference
  • Functions as Values
  • Function Closures
  • Methods
  • Variadic Functions
  • Recursion

Module 5 : Arrays

  • Array Types
  • Declaring Arrays
  • Initializing Arrays
  • Accessing Array Elements
  • Multi Dimensional Arrays
  • Passing Arrays
  • Variables and Adresses
  • Slices
  • Nil Slice
  • Subslicing
  • len() and cap() Functions
  • append() and copy() Functions

Module 6 : Pointers

  • Address Operator
  • Pointer Type
  • Accessing Pointers
  • Pointer Arithmetic
  • Comparison C Pointers
  • Uage of Pointers
  • Dereferencing Pointers
  • Nil Pointers
  • Array of Pointers
  • Pointer to Pointer
  • Pointers as Parameters
  • Type Casting

Module 7 : Data Structures

  • User Defined Data Types
  • type Statement
  • struct Keyword
  • Structure Definition
  • Accessing Structure Members
  • Passing Structures
  • Pointers to Structures
  • Object Oriented Programming
  • Structs versus Classes
  • Composition over Inheritance
  • Polymorphism
  • Maps, Keys and Values
  • make() and delete() Function
  • Interfaces

Module 8 : Error Handling

  • Error is Type
  • Error Interface
  • Panic Interface
  • Reasons for Panic
  • Comparison to Exceptions
  • Using Multiple Return Values
  • Unrecoverable Error
  • Programmer Error
  • Defer Execution
  • Recover Interface
  • Runtime panics
  • Goroutines
  • Stack Trace
  • Analyzing Stack Traces

Module 9 : Concurrency

  • Concurrency versus Parallelism
  • Goroutines versus Threads
  • Multiplexing
  • Channels
  • Race Conditions and Deadlock
  • Multiple Goroutines
  • Declaring Channels
  • Sending and Receiving with Channels
  • Blocking by Default
  • Unidirectional Channels
  • Buffered Channels
  • Worker Pools
  • WaitGroup
  • Select and Mutex
Meer...
€1.999
ex. BTW
Aangeboden door
SpiralTrain
Onderwerp
Go (Golang) Programmeren
Niveau
Duur
3 dagen
Looptijd
18 dagen
Taal
en
Type product
cursus
Lesvorm
Klassikaal
Aantal deelnemers
Max: 12
Tijdstip
Overdag
Tijden en locaties
Amsterdam
ma 8 jun. 2026
Eindhoven
ma 8 jun. 2026
Houten
ma 8 jun. 2026
Rotterdam
ma 8 jun. 2026
Utrecht
ma 8 jun. 2026
Zwolle
ma 8 jun. 2026
Amsterdam
ma 10 aug. 2026
Eindhoven
ma 10 aug. 2026
Houten
ma 10 aug. 2026
Rotterdam
ma 10 aug. 2026
Utrecht
ma 10 aug. 2026
Zwolle
ma 10 aug. 2026
Amsterdam
ma 12 okt. 2026
Eindhoven
ma 12 okt. 2026
Houten
ma 12 okt. 2026
Rotterdam
ma 12 okt. 2026
Utrecht
ma 12 okt. 2026
Zwolle
ma 12 okt. 2026
Amsterdam
ma 7 dec. 2026
Eindhoven
ma 7 dec. 2026
Houten
ma 7 dec. 2026
Rotterdam
ma 7 dec. 2026
Utrecht
ma 7 dec. 2026
Zwolle
ma 7 dec. 2026
Amsterdam
ma 8 feb. 2027
Eindhoven
ma 8 feb. 2027
Houten
ma 8 feb. 2027
Rotterdam
ma 8 feb. 2027
Utrecht
ma 8 feb. 2027
Zwolle
ma 8 feb. 2027
Amsterdam
ma 12 apr. 2027
Eindhoven
ma 12 apr. 2027
Houten
ma 12 apr. 2027
Rotterdam
ma 12 apr. 2027
Utrecht
ma 12 apr. 2027
Zwolle
ma 12 apr. 2027
Amsterdam
ma 7 jun. 2027
Eindhoven
ma 7 jun. 2027
Houten
ma 7 jun. 2027
Rotterdam
ma 7 jun. 2027
Utrecht
ma 7 jun. 2027
Zwolle
ma 7 jun. 2027
Amsterdam
ma 9 aug. 2027
Eindhoven
ma 9 aug. 2027
Houten
ma 9 aug. 2027
Rotterdam
ma 9 aug. 2027
Utrecht
ma 9 aug. 2027
Zwolle
ma 9 aug. 2027
Amsterdam
ma 11 okt. 2027
Eindhoven
ma 11 okt. 2027
Houten
ma 11 okt. 2027
Rotterdam
ma 11 okt. 2027
Utrecht
ma 11 okt. 2027
Zwolle
ma 11 okt. 2027
Amsterdam
ma 13 dec. 2027
Eindhoven
ma 13 dec. 2027
Houten
ma 13 dec. 2027
Rotterdam
ma 13 dec. 2027
Utrecht
ma 13 dec. 2027
Zwolle
ma 13 dec. 2027
Amsterdam
ma 7 feb. 2028
Eindhoven
ma 7 feb. 2028
Houten
ma 7 feb. 2028
Rotterdam
ma 7 feb. 2028
Utrecht
ma 7 feb. 2028
Zwolle
ma 7 feb. 2028
Keurmerken aanbieder
NRTO
UWV scholingsvoucher