Go (programozási nyelv)
| Go | |
|
|
|
| Paradigma | compiler által fordított, konkurens, imperatív |
| Jellemző kiterjesztés | .go |
| Megjelent | 2009 |
| Tervező | Robert Griesemer, Rob Pike és Ken Thompson |
| Utolsó kiadás | version 1.1[1][2] (2013. május 13.) |
| Fordítóprogram | gc (8g, 6g), gccgo |
| Hatással volt rá | C++ és Python; hatott rá: Limbo, occam |
| Operációs rendszer | Linux, Mac OS X, FreeBSD, OpenBSD, MS Windows, Plan 9[3] |
| Licenc | BSD[4] |
| Weboldal | |
A Go a Google által kifejlesztett[5], compiler által fordított, konkurens programozási nyelv. A nyelvet Robert Griesemer, Rob Pike és Ken Thompson tervezték meg. Jelenleg csak Linux és Mac OS X alatt hozzáférhető.[6] A jelenlegi implementációi közül a Gc C nyelvben íródott, szintaktikai elemzésre (parserként) yacc/bison-t használ, míg a Gccgo C++ front-endjét (felhasználóval kapcsolatot tartó réteg) a standard GCC back-endhez (tényleges feldolgozást végző réteg) csatolt rekurzív parser (recursive descent parser) egészíti ki.[7]
A Go szintaxisa a C nyelvéhez áll közel, a típusdeklaráció kivételével; az egyéb szintaktikai eltérések közé tartoznak a for ciklus és a feltételes kifejezés (if) hiányzó zárójelei. A nyelv támogatja a szemétgyűjtést. A Go konkurenciamodellje Tony Hoare CSP-jén alapszik. A kihagyott funkciók közé tartozik a kivételkezelés, az öröklődés, a generikus programozás és a metódusok újradefiniálása (method overriding). A Javától és a C++-tól eltérően a map-ek (asszociatív tömbök) beépített nyelvi elemek, éppúgy mint a stringek.
Tartalomjegyzék |
Problémák a névvel [szerkesztés]
A Google által a nyelv nevének választott „Go” ütközik a F. G. McCabe és K. L. Clark által 2004-ben kifejlesztett programozási nyelv, a Go! nevével.[8] A problémáról szó van a Google Go-oldalain, jelenleg a legnépszerűbb ötlet az, hogy a Google nyelvét át kellene nevezni „Issue 9”-re.[8]
Példák [szerkesztés]
Az alábbi egy „Helló, világ!”-program Go nyelven.
package main import "fmt" func main() { fmt.Printf("Hello, World\n") }
A Unix echo parancsának egy megvalósítása
package main import ( "os"; "flag"; // parancssori opciók elemzésére ) var omitNewline = flag.Bool("n", false, "don't print final newline") const ( Space = " "; Newline = "\n"; ) func main() { flag.Parse(); // az argumentumok listáját végignézi és beállítja a flageket var s string = ""; for i := 0; i < flag.NArg(); i++ { if i > 0 { s += Space } s += flag.Arg(i) } if !*omitNewline { s += Newline } os.Stdout.WriteString(s); }
Források [szerkesztés]
- Ez a szócikk részben vagy egészben a Go (programming language) című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel.
- ↑ [Open Source Blog: Go 1.1 is released]
- ↑ The Go Programming Language Blog: Go 1.1 is released
- ↑ Go Porting Efforts. Go Language Resources. cat-v, 2010. január 12. (Hozzáférés: 2010. január 18.)
- ↑ Text file LICENSE. (Hozzáférés: 2011. január 27.)
- ↑ Google-go-language
- ↑ go installation guide
- ↑ http://golang.org/doc/go_faq.html#Implementation
- ^ a b code.google.com
Külső hivatkozások [szerkesztés]
- The Go language
- Go language FAQ
- Index: Saját programnyelvet mutatott be a Google
- Google Go captures developers' imaginations
- The Go Programming Language, YouTube-videó
- IRC : go-nuts on irc.freenode.net
- Mailing list : http://groups.google.com/group/golang-nuts

