Go dla początkujących - Część 1: Instalacja i pierwsze kroki
Mateusz Kędziora

Witaj w kursie programowania w języku Go! Ten wszechstronny język, stworzony przez Google, zyskuje coraz większą popularność dzięki swojej prostocie, wydajności i możliwościom współbieżności. W tym artykule przeprowadzę Cię krok po kroku przez proces instalacji Go na różnych systemach operacyjnych, wyjaśnie kluczowe pojęcia, takie jak GOPATH i moduły Go, oraz pokaże, jak kompilować i uruchamiać programy. Przygotuj się na solidną dawkę wiedzy i mnóstwo praktycznych przykładów!
Co to jest Go?
Go, znany również jako Golang, to język programowania o otwartym kodzie źródłowym, zaprojektowany z myślą o efektywności, czytelności i łatwości użycia. Łączy w sobie najlepsze cechy języków dynamicznych i kompilowanych, oferując wysoką wydajność i prostą składnię. Go doskonale sprawdza się w tworzeniu backendów, aplikacji sieciowych, systemów rozproszonych i narzędzi wiersza poleceń.
Instalacja Go
Instalacja Go jest prosta i intuicyjna, niezależnie od używanego systemu operacyjnego. Poniżej znajdziesz instrukcje dla Windows, macOS i Linux.
Windows
- Pobierz instalator: Odwiedź oficjalną stronę Go (https://go.dev/dl/) i pobierz najnowszą wersję instalatora dla Windows (plik MSI).
- Uruchom instalator: Uruchom pobrany plik MSI i postępuj zgodnie z instrukcjami. Domyślnie Go zostanie zainstalowany w katalogu
C:\Program Files\Go. - Dodaj Go do PATH: Instalator automatycznie powinien dodać ścieżkę do Go do zmiennej środowiskowej
PATH. Aby to zweryfikować, otwórz wiersz poleceń (cmd) i wpiszgo version. Powinieneś zobaczyć informację o zainstalowanej wersji Go. Jeśli nie, dodaj ręcznie ścieżkęC:\Program Files\Go\bindo zmiennejPATH.
macOS
Pobierz pakiet: Odwiedź stronę Go i pobierz pakiet
.pkgdla macOS.Uruchom instalator: Uruchom pobrany plik i postępuj zgodnie z instrukcjami. Go zostanie zainstalowany w katalogu
/usr/local/go.Dodaj Go do PATH (opcjonalnie): W większości przypadków nie jest to konieczne, ponieważ instalator konfiguruje środowisko. Jeśli jednak chcesz dodać ścieżkę ręcznie, otwórz terminal i dodaj następującą linię do pliku
~/.zshrc(lub~/.bash_profilew starszych wersjach macOS):export PATH=$PATH:/usr/local/go/binNastępnie uruchom polecenie
source ~/.zshrc(lubsource ~/.bash_profile).
Linux
Pobierz archiwum: Odwiedź stronę Go i pobierz archiwum
.tar.gzdla Twojej architektury.Rozpakuj archiwum: Otwórz terminal i rozpakuj pobrane archiwum do katalogu
/usr/local:sudo tar -C /usr/local -xzf go*.tar.gzDodaj Go do PATH: Dodaj następującą linię do pliku
~/.bashrclub~/.zshrc:export PATH=$PATH:/usr/local/go/binNastępnie uruchom polecenie
source ~/.bashrclubsource ~/.zshrc.
GOPATH i moduły Go
W przeszłości projekty Go były organizowane w oparciu o zmienną środowiskową GOPATH. Obecnie zalecanym podejściem jest użycie modułów Go.
GOPATH (starsze podejście)
GOPATH to zmienna środowiskowa, która wskazywała na katalog, w którym przechowywane były kody źródłowe, pakiety i pliki binarne Go. Struktura katalogów wewnątrz GOPATH była ściśle określona:
src: Kod źródłowy.pkg: Skompilowane pakiety.bin: Pliki wykonywalne.
Moduły Go (zalecane podejście)
Moduły Go (Go Modules) to system zarządzania zależnościami, który upraszcza tworzenie i udostępnianie projektów Go. Moduł to zbiór pakietów Go, które są wersjonowane razem.
Aby włączyć obsługę modułów, utwórz plik go.mod w głównym katalogu Twojego projektu:
go mod init nazwa_modułuNa przykład:
go mod init example.com/helloSpowoduje to utworzenie pliku go.mod z następującą zawartością:
module example.com/hello
go 1.23.5Kompilacja i uruchamianie programów Go
Napiszmy prosty program “Hello, World!” w Go. Utwórz plik main.go z następującą zawartością:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}Użycie go run
Aby uruchomić program, użyj polecenia go run:
go run main.goWynik:
Hello, World!Użycie go build
Aby skompilować program do pliku wykonywalnego, użyj polecenia go build:
go build main.goSpowoduje to utworzenie pliku wykonywalnego main (lub main.exe na Windows). Aby go uruchomić, wpisz:
./main # Linux/macOS
main.exe # WindowsPrzykłady kodu
Zmienne i typy danych
package main
import "fmt"
func main() {
var name string = "Jan"
age := 30 // Krótka deklaracja
var isStudent bool = false
fmt.Println("Imię:", name)
fmt.Println("Wiek:", age)
fmt.Println("Student:", isStudent)
}Funkcje
package main
import "fmt"
func add(x int, y int) int {
return x + y
}
func main() {
sum := add(5, 3)
fmt.Println("Suma:", sum)
}Pętle
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
fmt.Println(i)
}
}Wszystkie pokazane wyżej elementy języka zostaną dokładnie omówione w kolejnych częściach kursu. Jeśli masz jakieś pytania lub chcesz dowiedzieć się więcej, nie wahaj się zapytać.
Praca domowa
- Napisz program, który pobiera od użytkownika imię i nazwisko, a następnie wyświetla powitanie w formacie “Witaj, Imię Nazwisko!”.
- Napisz program, który oblicza pole i obwód prostokąta na podstawie podanych długości boków.
Podsumowanie
W tym artykule omówiliśmy podstawy instalacji języka Go, wyjaśniliśmy pojęcia GOPATH i modułów, oraz pokazaliśmy, jak kompilować i uruchamiać programy. Zachęcamy Cię do dalszego eksperymentowania z Go i lektury kolejnych artykułów z naszego kursu dla początkujących. Go to potężne narzędzie, które oferuje wiele możliwości. Baw się dobrze, programując!
Dodatkowe materiały
- Oficjalna dokumentacja Go: https://go.dev/doc/
- A Tour of Go: https://go.dev/tour/welcome/1
Mam nadzieję że ten artykuł był pomocny. Jeśli masz jakieś pytania, śmiało zadawaj je w komentarzach!
Chroń swój komputerPolecane artykuły
Moje Projekty 3D: MakerWorld i Printables
Odkryj fizyczne projekty 3D stworzone przezemnie. Modele do druku 3D na MakerWorld i Printables. Połącz kodowanie z namacalną innowacją.
Mateusz Kędziora
Bubble Drop: Merge Challenge – Nowa Wciągająca Gra Mobilna na Androida
Zagraj w Bubble Drop: Merge Challenge – moją nową, uzależniającą grę mobilną na Androida! Zrzucaj, łącz i buduj strategie, by przetrwać kulkowy armagedon.
Mateusz Kędziora
Flutter DevTools: Debugowanie UI
Debugowanie układu UI we Flutterze z Flutter DevTools. Praktyczne wskazówki i techniki dla developerów.
Mateusz Kędziora


