Go, język programowania
No to go!
Opis języka
Narzędzia
HowTo
Co my tu mamy?
Zmienne
Deklaracja zmiennej
Definicja zmiennej
Widoczność zmiennej
Wartości
Sposoby tworzenia wartości
new()
make()
Literały
Typy
Typy pre-deklarowane
Tworzenie własnych typów i nadawanie im nazw
Typy złożone
Typ struct
Typy funkcyjne
Typy tablicowe
Typy wycinków
Typy mapowań
Typy kanałów
Typ interface
Typy wskaźnikowe
Własności typów i ich wartości
Identyczność typów
Przypisywalność
Instrukcje warunkowe i pętle
If, składnia
Rodzaje pętli
For warunkowy
For klasyczny
For iteracyjny
Iterowanie po slicesach i arrayach
Iterowanie po elementach mapy
Iterowanie po stringach
Iterowanie kanału
Switch (wyrażeniowy)
Switch (typów)
Select
Literały
Literały numeryczne
Literały znakowe
Literały złożone
Literały mapowań
Literały tablicowe
Literały wycinków
Literały struktur
Literały funkcyjne
Funkcje
Funkcja jako nazwana część programu
Argumenty funkcji
... (dotdotdot)
Wartości zwracane z funkcji
Anonimowe funkcje
Domknięcie
Defer, czyli opóźnione wykonanie
Metody
Wszystko o slicesach
Czym są slicesy
Operator wcinania
Funkcje pomocnicze
len
cap
append
copy
Slicesy od podszewki
Zagrożenia
"Obiektowość" w Go
Interfejsy
Asercja typów
Embedowanie czyli osadzanie struktur
Konstruktory
Pakiety
Deklaracja i importowanie pakietów
Widoczność składowych pakietów
Kompilacja pakietów
Pakiety jedno plikowe
Pakiety wieloplikowe
Makefile
Testowanie pakietów
Współbieżność
Goroutines
Kanały
Tworzenie kanałów
Operacje na kanałach
Naprawianie początkowego przykładu
Kanały jednostronne
Synchronizacja