Trwają zapisy do grupy

Szkolenie: Programowanie w języku Go

Szkolenie „Programowanie w języku Go” to praktyczne wprowadzenie do nowoczesnego języka programowania Go (Golang), opracowanego przez Google, który słynie z wydajności, prostoty i doskonałego wsparcia dla programowania współbieżnego. Go znajduje zastosowanie w aplikacjach serwerowych, mikrousługach, systemach sieciowych oraz narzędziach CLI. Kurs koncentruje się na idiomatycznym pisaniu kodu w Go, z wykorzystaniem biblioteki standardowej, narzędzi developerskich i mechanizmów concurrency.

  • Trenerzy praktycy
  • Kameralne grupy

Czas trwania szkolenia:3 dni (24h)

Poziom zaawansowania:

Kod kursu:GO/PROG

Dostępne terminy szkolenia

  • Termin
  • Trener
  • Cena
  • Zapis
  • Lokalizacja

Termin:

23 lutego
Trwają zapisy na szkolenieDostępne w BUR

Trener:

Trener-Sages

Cena:

2805 PLN netto
Ikona podpowiedziDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Ikona podpowiedziZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Forma szkolenia

Interesuje Cię szkolenie stacjonarne?

Powiadom o kolejnych terminach

Interesuje Cię szkolenie w innym terminie?

Programowanie w języku Go

Cele szkolenia

  • Gruntowne wprowadzenie do składni i przedstawienie najważniejszych idiomów języka Go

  • Zapoznanie z istniejącym ekosystemem i dostępnymi narzędziami deweloperskimi

  • Programowanie współbieżne w GO

  • Poznanie najważniejszych modułów biblioteki standardowej


Dla kogo?

  • Programistów chcących kompleksowo poznać język Go, poszerzyć posiadane umiejętności, a także poprawić wydajność i bezpieczeństwo wytwarzanego oprogramowania


Zalety

  • Intensywna forma warsztatowa – każda funkcja i mechanizm demonstrowane są w praktyce

  • Uczestnicy piszą kod, korzystają z typowych narzędzi Go i wdrażają znane wzorce projektowe

  • Szkolenie prowadzone przez praktyków – Go używany jest w realnych projektach produkcyjnych

  • Gotowy kod, wzorce i przykłady ułatwiające rozpoczęcie pracy nad własnymi usługami, narzędziami i API


Wymagania

  • Podstawowa umiejętność programowania w dowolnym języku


W cenie otrzymasz:

  • Materiały szkoleniowe

  • Certyfikat ukończenia szkolenia

  • W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki

Program szkolenia

Pobierz program w PDF

# Konspekt szkolenia: Programowanie w języku Go

Wprowadzenie do języka Go

  • Historia i filozofia języka

  • Kluczowe cechy - prostota, wydajność, współbieżność

  • Obszary zastosowań

  • Składnia i struktura programu

  • Go Playground

Środowisko programistyczne

  • Instalacja Go SDK

  • Struktura katalogów - GOPATH vs Go Modules

  • Narzędzie go i podstawowe komendy

  • Konfiguracja IDE

  • Rozszerzenia i wtyczki

  • Debugowanie programów

Podstawowe typy danych

  • Koncepcja zero value

  • Typy numeryczne - całkowite, zmiennoprzecinkowe, zespolone

  • Typ bool

  • Stringi, runy i bajty

  • Literały i konwersje typów

  • Deklaracje zmiennych - var, :=, wielokrotne

  • Stałe i enumeracje - const, iota

  • Zasięg widoczności

Typy złożone

  • Tablice - deklaracja, inicjalizacja, rozmiar jako część typu

  • Slices - append, copy, len, cap, slicing

  • Ciągi bajtów - string vs []byte vs []rune, UTF-8

  • Mapy - operacje CRUD, sprawdzanie kluczy, iteracja

  • Struktury - pola, tagi, zagnieżdżanie, porównywanie

Struktury kontrolne

  • Bloki i zasięg zmiennych

  • Przesłanianie zmiennych - shadowing

  • Instrukcja if-else z inicjalizacją

  • Pętla for - klasyczna, while, nieskończona, for-range

  • Instrukcja switch - z wyrażeniem, bez wyrażenia, type switch

  • Break, continue, labels

  • Goto

Funkcje

  • Definicja i wywołanie funkcji

  • Parametry i wartości zwracane

  • Nazwane wartości zwracane

  • Funkcje wariadyczne

  • Zwracanie wielu wartości - idiom (result, error)

  • Funkcje jako wartości - anonimowe, parametry, zwracane

  • Domknięcia - przechwytywanie zmiennych, wzorce

  • Defer - odraczanie wykonania, kolejność LIFO, zastosowania

Wskaźniki

  • Model pamięci - stack vs heap

  • Przekazywanie przez wartość

  • Wskaźniki w Go - *T, &, *, brak arytmetyki

  • Kiedy używać wskaźników

  • Modyfikowalne parametry

  • Typy referencyjne - map, slice, channel

  • Wartość nil - zero value, nil dereference panic

Metody i interfejsy

  • Definiowanie typów - alias vs nowy typ

  • Metody - odbiornik wartości vs wskaźnika

  • Promowanie metod

  • Kompozycja - embedding, promowanie pól i metod

  • Definicja i implementacja interfejsów

  • Interfejs pusty - interface{}

  • Type assertion i type switch

  • Standardowe interfejsy - io.Reader, io.Writer, fmt.Stringer

  • Polimorfizm w Go

Obsługa błędów

  • Filozofia Go - błędy jako wartości

  • Interfejs error - errors.New, fmt.Errorf

  • Idiom if err != nil

  • Własne typy błędów

  • Wrapping errors - %w, errors.Is, errors.As

  • Defer w obsłudze błędów

  • Panic i recover - kiedy używać, wzorce

Pakiety i moduły

  • System modułów - go.mod, go.sum, semantic versioning

  • Inicjalizacja i zarządzanie - go mod init, go get, go mod tidy

  • Struktura pakietu

  • Widoczność - wielka vs mała litera

  • Pakiet main i funkcja main

  • Funkcja init

  • Import pakietów - standardowe, lokalne, zewnętrzne, aliasy

  • Organizacja projektu - standard layout, internal, vendor

  • Workspace - go.work, praca z wieloma modułami

Współbieżność

  • Goroutines - słowo kluczowe go, scheduler, GOMAXPROCS

  • Channels - deklaracja, wysyłanie, odbieranie, buforowane vs niebuforowane

  • Zamykanie kanałów i range

  • Kierunkowe kanały

  • Select - multipleksowanie, timeout, default case

  • Synchronizacja - WaitGroup, Mutex, RWMutex, Once, atomic

  • Wzorce współbieżności - worker pool, pipeline, fan-out/fan-in

  • Context - zarządzanie cyklem życia

  • Race detector - wykrywanie wyścigów, typowe problemy

Biblioteka standardowa

  • io - Reader, Writer, Copy, praca z plikami, bufio

  • encoding/json - Marshal, Unmarshal, tagi, streaming

  • net/http - client, server, routing, middleware

  • flag - parsowanie argumentów CLI

  • log - podstawowe logowanie, własne loggery

  • Inne pakiety - time, regexp, context, testing

Autorem szkolenia jest Łukasz Andrzejewski

Od ponad 17 lat z pasją dzielę się wiedzą jako trener, wspierając rozwój kompetencji technologicznych wśród specjalistów IT na różnych etapach ich kariery. W ostatnich 5 latach przeszkoliłem ponad 2000 osób, prowadząc szkolenia zarówno otwarte, jak i dedykowane, dla czołowych firm z sektorów bankowości, ubezpieczeń i IT – m.in. Santander Bank Polska, ERGO Hestia, Asseco Poland oraz Orange. Specjalizuję się w szerokim zakresie technologii – od rozwiązań z ekosystemu Java, przez nowoczesny frontend,…

Wybrane opinie

Przeczytaj pozytywne opinie pochodzące z ankiet satysfakcji z naszych szkoleń wypełnianych wyłącznie przez ich uczestników po realizacji usługi

4.8
Ikona podpowiedziŚrednia ocen Sages w serwisie Google Ocena pochodzi ze średniej ocen Sages w serwisie Google i nie jest weryfikowana

4.07.2025

Uczestnik szkoleniaProgramowanie w języku Go

Piotr Mazur, Ericsson Sp. z o.o.

Bardzo dobry prowadzący, z dużą wiedzą. Znaczna część szkolenia to pisanie kodu w ramach ćwiczeń.

Więcej opinii