Go (język programowania)
![]() Logo języka | |
Pojawienie się | |
---|---|
Paradygmat | |
Typowanie | |
Implementacje | go, gccgo |
Aktualna wersja stabilna | 1.19.4 |
Aktualna wersja testowa | 1.19rc2 |
Twórca | Robert Griesemer, Rob Pike, Ken Thompson |
Licencja | BSD + przyznany patent |
Platforma sprzętowa | |
Platforma systemowa | |
Strona internetowa |
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++).
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
Hello World
Przykładowy program (Hello world) napisany w Go:
package main
import "fmt"
func main() {
fmt.Println("Hello, World")
}
Współbieżność
package 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
- ↑ 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
- Strona domowa języka (ang.)
Media użyte na tej stronie
Official Go Logo - Aqua