Może język Golang nie dorównuje jeszcze popularnością Pythonowi czy Javascript, ale moim zdaniem jest to technologia, która najlepszy czas ma jeszcze przed sobą. Wg indeksu TIOBE Golang przesunął się w ciągu ostatniego roku z pozycji 13 na 7. Na pewno przyczynkiem do takiej pozycji jest zainteresowanie tym językiem tuzów Internetu oraz nadal rosnąca popularność usług chmurowych, a co za tym idzie technologii około DevOps'owych.
Używanie niniejszego materiału w celach szkoleniowych jest dozwolone pod warunkiem podania źródła niniejszego repozytorium oraz imienia i nazwiska autora.
Zapraszam do kontaktu w zakresie szkoleń Python lub Golang: hello@it-mobile.net
Miłej lektury !
1. Dlaczego GoLang?
- Zalety GoLang w porównaniu do Pythona
- Przykłady zastosowań GoLang
2. Podstawy GoLang
- Historia i filozofia języka
- Instalacja i konfiguracja środowiska
1. Pierwszy program w Go
- Struktura programu
package main
ifunc main()
2. Podstawowe typy danych
- Typy proste: int, float, string, bool
- Typy złożone: arrays, slices, maps
3. Operatory i wyrażenia
- Operatory arytmetyczne, logiczne i relacyjne
- Tworzenie wyrażeń
4. Standardowe wejście i wyjście
- Odczyt wartości z klawiatury i ich walidacja
- Wyświetlanie danych oraz ich formatowanie
5. Logowanie
- Praktyki logowania w Go
- Przegląd bibliotek
1. Instrukcje warunkowe
if
,else
,switch
2. Pętle
for
- Pętle z warunkami i pętle nieskończone
3. Funkcje
- Definiowanie i wywoływanie funkcji
- Funkcje z wieloma wynikami
- Funkcje anonimowe i zamknięcia
1. Struktury
- Definiowanie struktur
- Metody i odbiorniki
2. Interfejsy
- Definiowanie i implementacja interfejsów
- Polimorfizm w Go
3. Kanały i gorutyny
- Wprowadzenie do gorutyn
- Synchronizacja z kanałami
1. Wprowadzenie do współbieżności w Go
- Gorutyny i ich zarządzanie
- Komunikacja za pomocą kanałów
2. Zaawansowane techniki współbieżności
- Buforowane vs. niebuforowane kanały
- Select i timeouts
1. Praca z systemem plików
- Otwieranie, czytanie i zapisywanie plików
2. Programowanie sieciowe
- Tworzenie serwerów HTTP
- Klient HTTP
- Praca z gRPC
1. Testowanie
- Pisanie testów jednostkowych
- Używanie pakietu
testing
2. Debugowanie
- Używanie
delve
- Diagnostyka i profilowanie
3. Moduły i pakiety
- Organizacja kodu w Go
- Tworzenie i zarządzanie modułami
4. Wyjątki
- Typ error
- Panic i Recover
1. Porównanie składni
- Typowe wzorce i różnice
2. Przekształcanie skryptów Python do Go
- Przykłady migracji kodu
3. Zarządzanie zależnościami
- Używanie
pip
vs.go modules
1. Aplikacja CLI
- Tworzenie narzędzia wiersza poleceń
2. Aplikacja Webowa
- Prosty serwer webowy
3. Aplikacja bazodanowa
- Integracja z bazą danych
4. System rozproszony
- Implementacja mikroserwisów w Go
1. Zasoby dodatkowe
- Dokumentacja, blogi i książki
2. Narzędzia i biblioteki
- Przegląd przydatnych narzędzi i bibliotek w ekosystemie Go
3. Ćwiczenia i quizy
- Zadania praktyczne do samodzielnego rozwiązania
© 2024 Marian Witkowski marian.witkowski[at]gmail.com