Programowanie w języku Go

- podtstawy
    Czas trwania
    Godzina rozpoczęcia
    Stopień trudności

      Podstawy programowania w języku Go

      Opis szkolenia

      Go jest językiem nowoczesnym - powstał dopiero w 2009 roku, ja już w tej chwili jest jednym z najchętniej używanych języków programowania i jego popularnosć ciągle rośnie, także dzięki wsparciu dużych firm, z Google na czele. Przekonaj się o wszystkich zaletach tego języka wybierając nasze szkolenia:

      Na dobry początek:

      Dla zaawansowanych:

      Poznaj program szkolenia

      Co zyskasz dzięki szkoleniu ?

      Cele szkolenia

      Celem szkolenia jest nauczenie podstaw programowania w języku Go.

      Umiejętności

      Dzię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ów

      Szkolenie 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).

      POBIERZ PROGRAM W PDF

      Ścieżka rozwoju
      W ramach szkolenia zapewniamy
      • materiały szkoleniowe
      • certyfikat potwierdzający udział w kursie
      • pełna obsługa cateringowa ( dla szkoleń stacjonarnych)

      Spotkajmy się na szkoleniu!

      • MACIEJ NORBERCIAK

        Jestem architektem oprogramowania z doświadczeniem akademickim. W pracy naukowej zajmowałem się sztuczną inteligencją, ale w przemyśle “od zawsze” pracowałem w różnych rolach nad systemami wbudowanymi. Oprócz tego jestem trenerem umiejętności miękkich i technicznych, z szeroko rozumianego obszaru architektury, systemów wbudowanych i języków programowania. W wolnych chwilach lubię się uczyć nowych rzeczy i jeździć na rowerze.

        Podobne szkolenia