Materiał jest nagraniem archiwalnym Stacji IT (warsztatów z różnych technologii w trybie 4- lub 8-godzinnym).
➡️ Czego się nauczysz?
– Poznamy ekosystem języka,
– Napiszemy naszą pierwszą aplikację w Go,
– Poznamy prymitywne i złożone typy danych,
– Napiszemy funkcje i poznamy ich składnię,
– Dowiemy się, czym są zmienne i mutowalność,
– Poznamy concurrency w Go – kanały i gorutyny,
– Czym są interfesy i jak je definiować,
– Alokacja pamięci i garbage collector,
– Obsługa błędów
– Jak efektywnie pisać testy.
➡️ Dla kogo jest ten materiał?
Warsztat dla początkujących oraz doświadczonych programistów posługujących się imperatywnymi językami programowania z rodziny języka C, osób technicznych zainteresowanych pisaniem i produkowaniem oprogramowania, developerów aplikacji sieciowych oraz aplikacji rozproszonych chcących zrozumieć, w jaki sposób mogą wykorzystać język Go w swojej pracy.
➡️ Wymagania wstępne
– Zainstalowany Go (https://go.dev/doc/install),
– Działające środowisko uruchomieniowe (go, go run) – można sprawdzić wywołaniem opcji –version dla obu binarek.
(opcjonalnie) IDE wedle uznania (np. Visual Studio Code, IntelliJ IDEA z wtyczką Go, itp.).
➡️ Program
1. Wprowadzenie do języka Go:
– Poznamy ekosystem języka, napiszemy naszą pierwszą aplikację w Go.
2. Podstawy składni i typy danych:
– Poznamy prymitywne i złożone typy danych, dowiemy się, czym są zmienne i mutowalność.
3. Funkcje i interfejsy:
– Napiszemy funkcję, poznamy ich składnię, dowiesz się, czym są interfejsy i jak je definiować.
4. Concurrency w Go:
– Poznamy współbieżność w Go – kanały i gorutyny.
5. Zaawansowane koncepcje:
– Alokacja pamięci i garbage collector, obsługa błędów.
6. Testowanie aplikacji:
– Jak efektywnie pisać testy w Go.
Materiał „Programowanie w języku Go” (C) Sages 2025.
➡️ Informacje o prowadzącym:
Maciej Oliwa
Maciej Oliwa:
Senior inżynier oprogramowania specjalizujący się w technologiach systemowych i językach takich jak C/C++/Python oraz szeregu innych. Obecnie pracuje w obszarze Research and Development dla sieci telekomunikacyjnych i płynnie porusza się w technologiach LTE/5G (New Radio) oraz tworzy elementy przyszłego 6G. Tematem zainteresowań są też architektury sprzętowe, od CPU w ISA x86, arm, Risc-V poprzez implementacje dla języków RTL pod FPGA, aż do akceleratorów graficznych i tensorowych (GPU/TPU). Bardziej hobbystycznie i mniej zawodowo porusza się w tematach gamedevu oraz teorii języków oprogramowania, oraz uczenia maszynowego.