Jak zacząć przygodę z Go? Kompletny przewodnik dla początkujących

11/6/2024 Języki programowania

Mateusz Kędziora

image

Go - z czym to się je?

Go często porównuje się do języków takich jak Python czy C++. Podobnie jak Python, Go oferuje czytelną składnię i dużą produktywność. Z drugiej strony, dzięki kompilacji, zapewnia wydajność zbliżoną do C++. Jeśli jesteś programistą, który szuka czegoś pomiędzy tymi dwoma światami, Go może okazać się idealnym kompromisem.

Instalacja Go

Instalacja Golang jest dość prosta, sam kompilator wraz z “linterem” czyli analizatorem kodu, który potrafi wykryć większość problemów działaniu naszej aplikacji można pobrać ze strony. Szczegółowe instukcje instalacji znajdują się na oficjalnej stronie Go pod tym adresem.

Konfiguracja środowiska programistycznego.

Do programowania w Go zalecam używanie Visual Studio Code wraz z dodatkiem Go.

Najważniejsze pojęcia

Można było by zacząc tu pisać o wszystkich często używanych Gorutines z, których to słynie Golang, ale czytasz tego posta gdyż zaczynasz dopiero przygodę z tym językiem a więc skupmy się bardziej na deklaracjach funkcji, oraz linterze - golangci-lint. Jest to narzędzie służące do sprawdzania poprawności kodu, gdy piszesz w takim IDE jak np Visual Studio Code, po zapisaniu pliku linter sam sprawdzi poprawność kodu, wyświeli błędy, poprawi formatowanie dokumentu. W moim odczuciu jest to jedna z najprzyjemniejszych rzeczy, gdy nie musisz martwić się czy dałeś spacje czy nie, Twój kod i tak będzie czytelny. Ponadto linter potrafi sam importować potrzebne pakiety a nawet pobiera je z internetu.

Pierwszy program

Zacznijmy od najważniejszej rzeczy inicjalizacji programu. W tym celu w konsoli musimy wydać następujace polecenie:

go mod init nazwa

Nastepnie musimy utworzć plik main.go możemy w tym celu napisać taki prosty program:

package main

import "fmt"

func main() {
    fmt.Println("Witaj świecie!")
}

Kompilacja i uruchomienie programu.

Następnym krokiem będzie uruchomienie naszego pierwszego programu w tym celu wydajemy w konsoli polecenie:

go run .

Program powinien wyświetlić nam Witaj świecie! na standardowym wyjściu.

A teraz czas na skompilowanie programu. W tym celu musimy wydać komendę:

go build -o nazwa .

Parametr -o definiuje nam jak będzie sie nazywać plik wynikowy. Teraz wystarczy uruchomić program.

Wyjaśnienie podstawowej składni języka.

Golang wyróżnia się przejrzystą i minimalistyczną składnią. Oto podstawowe elementy:

  1. Struktura podstawowego programu:
package main

import "fmt"

func main() {
    fmt.Println("Witaj w Go!")
}
  1. Deklaracja zmiennych - mamy dwa sposoby:
// Sposób 1 - klasyczna deklaracja
var imie string = "Adam"
var wiek int = 25

// Sposób 2 - krótka deklaracja (preferowana)
nazwa := "Go"
liczba := 42
  1. Typy danych i ich deklaracja:
// Podstawowe typy
tekst := "Hello"        // string
liczbaCalkowita := 10   // int
przecinkowa := 3.14     // float64
prawdaFalsz := true     // bool

// Tablice i slice'y
tablica := [3]int{1, 2, 3}     // tablica o stałym rozmiarze
slice := []int{1, 2, 3, 4}     // slice (dynamiczna tablica)
  1. Struktury sterujące:
// Pętla for (jedyna pętla w Go!)
// Pętla ta może wykonywać zadania pętli while czy foreach znane z innych języków 
for i := 0; i < 5; i++ {
    fmt.Println(i)
}

// If z opcjonalną inicjalizacją
if wynik := pobierzWynik(); wynik > 100 {
    fmt.Println("Duża wartość!")
} else {
    fmt.Println("Mała wartość")
}

// Switch bez potrzeby break
switch kolor := "czerwony"; kolor {
case "czerwony":
    fmt.Println("Znaleziono czerwony")
case "niebieski":
    fmt.Println("Znaleziono niebieski")
default:
    fmt.Println("Inny kolor")
}
  1. Funkcje mogą zwracać wiele wartości:
func obliczStatystyki(x, y int) (suma int, iloczyn int) {
    suma = x + y
    iloczyn = x * y
    return // naked return - zwraca nazwane wartości
}

func main() {
    suma, iloczyn := obliczStatystyki(5, 3)
    fmt.Printf("Suma: %d, Iloczyn: %d\n", suma, iloczyn)
}

Warto zauważyć kilka charakterystycznych cech składni Go:

  • Średniki są opcjonalne - kompilator wstawia je automatycznie
  • Nawiasy klamrowe muszą być w tej samej linii co deklaracja (np. func, if, for)
  • Nieużywane zmienne powodują błąd kompilacji
  • Typy zapisujemy po nazwie zmiennej, co zwiększa czytelność kodu

Podsumowanie

Go to nowoczesny język programowania, który łączy w sobie prostotę składni z potężnymi możliwościami. Jego znajomość otwiera drzwi do tworzenia wydajnych aplikacji serwerowych, mikroserwisów i narzędzi systemowych.

Najważniejsze informacje

Rozpoczęcie przygody z Go wymaga jedynie instalacji środowiska programistycznego, poznania podstawowej składni i zrozumienia kluczowych koncepcji, takich jak goroutines czy channels. Język ten wyróżnia się szybkością kompilacji, wbudowanym formatowaniem kodu oraz rozbudowaną biblioteką standardową, co znacząco ułatwia początkującym programistom stawianie pierwszych kroków.

Co dalej?

Mając już podstawową wiedzę o Go, warto zagłębić się w praktyczne projekty - od prostych skryptów konsolowych po małe aplikacje webowe. Dołącz do społeczności Go poprzez meetupy i fora, śledź oficjalny blog języka oraz eksperymentuj z popularnymi frameworkami jak Gin czy Echo. Regularna praktyka i stopniowe poznawanie bardziej zaawansowanych zagadnień pozwoli Ci w pełni wykorzystać potencjał tego języka w przyszłych projektach.

Polecane artykuły