Go (język programowania)
Logo języka | |
Pojawienie się | 2009 |
---|---|
Paradygmat | wieloparadygmatowy |
Typowanie | silne (statyczne) |
Implementacje | go, gccgo |
Twórca | Robert Griesemer, Rob Pike, Ken Thompson |
Licencja | BSD + przyznany patent |
Platforma sprzętowa | |
Platforma systemowa | GNU/Linux, OS X, FreeBSD, OpenBSD, MS Windows, Plan 9 |
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
Linki zewnętrzne
Zobacz wiadomość w serwisie Wikinews pt. GopherCon Poland 2021 |
- Strona domowa języka (ang.)
- p
- d
- e
1GL | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2GL/ Język drugiej generacji/ Asembler |
| ||||||||||||||
3GL / Język trzeciej generacji |
| ||||||||||||||
4GL/ Język czwartej generacji/ Język dziedzinowy |
| ||||||||||||||
5GL/Logiczne |
| ||||||||||||||
Ezoteryczne | |||||||||||||||
Inne |
|