Go (język programowania)
Go (często nazywany także golang) – wieloparadygmatowy język programowania opracowany przez pracowników firmy Google: Roberta Griesemera, Roba Pike’a oraz Kena Thompsona. Łączy w sobie łatwość pisania aplikacji charakterystyczną dla języków dynamicznych (np. Python, Lisp), jak również wydajność języków kompilowanych (np. C, C++).
Logo języka | |
Pojawienie się | |
---|---|
Paradygmat | |
Typowanie | |
Implementacje |
go, gccgo |
Aktualna wersja stabilna |
1.22.2 |
Twórca | |
Licencja |
BSD + przyznany patent |
Platforma sprzętowa | |
Platforma systemowa | |
Strona internetowa |
Dostępny jest kompilator na platformę x86, x64 i ARM o nazwie go. Został również stworzony kompilator na bazie GNU Compiler Collection – gccgo[2].
Przykłady
edytujHello World
edytujPrzykładowy program (Hello world) napisany w Go:
package main
import "fmt"
func main() {
fmt.Println("Hello, World")
}
Współbieżność
edytujpackage main
import (
"fmt"
"time"
)
func readword(ch chan string) {
fmt.Println("Wprowadź słowo i zatwierdź klawiszem Enter.")
var word string
fmt.Scanf("%s", &word)
ch <- word
}
func timeout(t chan bool) {
time.Sleep(5 * time.Second)
t <- true
}
func main() {
t := make(chan bool)
go timeout(t)
ch := make(chan string)
go readword(ch)
select {
case word := <-ch:
fmt.Println("Otrzymano ", word)
case <-t:
fmt.Println("Upłynięcie limitu czasu.")
}
}
Funkcje timeout i readword zostaną wywołane niezależnie od swojej zawartości. Następnie, jeżeli w ciągu 5 sekund nie zostanie wpisane słowo to wyświetli się powiadomienie o upłynięciu limitu czasu, w przeciwnym razie zostanie wyświetlone dane słowo.
Przypisy
edytuj- ↑ The Go Gopher - The Go Blog. blog.golang.org, 2014-03-24. [dostęp 2021-08-18]. (ang.).
- ↑ Top (The GNU Go Compiler). gcc.gnu.org. [dostęp 2021-08-06]. (ang.).
Linki zewnętrzne
edytuj- Strona domowa języka (ang.)