Podstawy programowania w języku Go
Instrukcja zapisu na szkolenia
Nasz przewodnik krok po kroku przeprowadzi Cię przez proces rejestracji nowego konta lub logowania do Comarch Cloud w celu rezerwacji miejsca na kursie!
Poznaj program szkolenia
- Co zyskasz dzięki szkoleniu ?
Cele szkolenia
Celem szkolenia jest nauczenie podstaw programowania w języku Go.
UmiejętnościDzięki szkoleniu uczestnik będzie potrafił:
- Pisać, budować, uruchamiać i dystrybuować programy w języku Go
- Weryfikować poprawność kodu Go, pisać efektywne testy i uruchamiać je
- Organizować kod Go w reużywalne pakiety
- Używać Go Modules do zarządzania pakietami i zależnościami
- Czy to szkolenie jest dla Ciebie ?
Profil uczestników
Szkolenie przeznaczone jest dla programistów, projektantów i architektów oprogramowania, którzy chcą poznać nowy język i wykorzystać go w swoich projektach.
Przygotowanie uczestnikówSzkolenie przeznaczone jest dla osób, które umieją już programować w innym języku programowania oraz mają doświadczenie w kompilacji i uruchamianiu kodu w innym języku. Wymagana jest umiejętność pracy w systemie Windows lub Linux. Wcześniejsza instalacja Go runtime 13.x oraz IDE GoLand (e.w. VS Code i plugina do Go) jest mile widziana, ale nie wymagana. Szkolenie prowadzone będzie przy użyciu IDE GoLand oraz środowiska Go Playground.
- Czas trwania
-
Przed nami:
- 3 dni po 8 godzin lekcyjnych
- Szczegółowy program szkolenia
Szczegółowy program szkolenia
Wprowadzenie do Go
- Krótka historia Go
- Najważniejsze cechy języka
- Podstawowe narzędzia
- Typowa struktura katalogów
Podstawy składni
- Zawartość plików w Go
- Formatowanie kodu
- Funkcje, pakiety, metody
- Zmienne i typy: typy proste, struktury, wskaźniki, stałe, tablice; przekroje (slices), mapy
- Struktury kontrolne, instrukcje warunkowe, pętle
- Kompilowanie i uruchamianie kodu: go run, go build, makefiles
Typy proste: literały, bool, typy numeryczne, operatory numeryczne, typy urojone, konwersja, użycie stałych, stringi, runy, bajty
Funkcje
- Deklaracje funkcji
- Zasięg zmiennych
- Zwracanie wielu wartości
- Przekazywanie parametrów przez wartość, przekazywanie przez wskaźnik, aspekty zarządzania pamięcią, garbage collector
- Deklaracje typów funkcyjnych, funkcje anonimowe
- Domknięcia
- Funkcje wariadyczne
Pakiety: ścieżki importu, go get, go doc
Struktury: inicjalizacja, pola, embedding struktur, enkapsulacja, typy definiowane, definicja metod, promocja metod, interfejsy, struktury anonimowe, porównywanie i konwersja struktur
Tablice i slices: len, append, copy, konwersja do slices z tablic
Mapy: odczyt i zapis mapy, idiom “comma ok”, usuwanie z map, używanie map jako zbiorów
Obsługa błędów
- Defer, panic, recover
- Unikanie błędów: go lint, go vet
Współbieżność
- Podstawowe pojęcia, pakiet sync
- Goroutines
- Kanały (channels), nil channels, buffered channels
Przegląd biblioteki standardowej: fmt, io, bufio, os, net/http, encoding/json, Strings, strconv, Sort, Sync, Log, Flag, Time; dodatkowo cobra
Programowanie niskopoziomowe - pakiety unsafe, reflect i cgo
Go modules
Zarządzanie pakietami - podstawowe pojęcia; GOPATH; vendoring; kolejność rozwiązywania;
- Inicjalizacja modułów; zależności i wersjonowanie semantyczne; weryfikacja zależności; zasady wersjonowania
- Proxy do modułów; użycie vendoringu; użycie JFrog GoCenter; migracja
Testowanie
- Pojęcia podstawowe; konwencje nazewnicze; organizacja kodu
- Asercje
- Sygnalizowanie stanów błędnych
- Pokrycie kodu testami
- Urządzenia testowe (fixtures); testy powtarzalne i permutacyjne; użycie mocków; testy jednostkowe i integracyjne; testy table-driven
Metoda realizacji
Szkolenie ma formę następujących po sobie wykładów i ćwiczeń praktycznych, wykonywanych indywidualnie lub w ramach programowania w parach (pair programming).
- Ścieżka rozwoju
- W ramach szkolenia zapewniamy
- materiały szkoleniowe
- certyfikat potwierdzający udział w kursie
- pełna obsługa cateringowa ( dla szkoleń stacjonarnych)

