W czerwcu 2020 roku opublikowano nowy projekt dokumentu, który dodawał do Go niezbędną składnię umożliwiającą deklarowanie generycznych funkcji i typów. Udostępniono narzędzie do translacji kodu, go2go, aby umożliwić użytkownikom wypróbowanie nowej składni, wraz z wersją internetowego Go Playground obsługującą generyki.

Ostatecznie generyki zostały dodane do Go w wersji 1.18, wydanej 15 marca 2022 roku.

Przykłady

Hello World Przykładowy program (Hello world) napisany w Go:package main

func main() { println("Hello, World") }

Współbieżność package main

import ( "fmt" "time" )

func wordPrinter(word string, n int) { for range n { fmt.Println("Podaje słowo: ", word) time.Sleep(time.Second)

func main() { go wordPrinter("pierwsze", 3) time.Sleep(500 * time.Millisecond) go wordPrinter("drugie", 4) time.Sleep(5 * time.Second) }

Powyższy program demonstruje wykorzystanie gorutyn – lekkich wątków współbieżnych w języku Go. Funkcja wordPrinter przyjmuje jako argumenty ciąg znaków (word) oraz liczbę powtórzeń (n), a następnie wypisuje podane słowo n razy, wprowadzając jednosekundowe opóźnienie między iteracjami.