Go (programski jezik)

Iz Wikipedije, proste enciklopedije
Skoči na: navigacija, iskanje
Maskota Gopher

Go je programski jezik, ki ga je razvil Google leta 2007. Avtorji jezika so Robert Griesemer, Rob Pike in Ken Thompson. Programski jezik se prevede s prevajalnikom, kot npr. C ali C++. Programski jezik ima tudi svoj »garbage collector«, ki poskrbi za čiščenje pomnilnika.[1]

Go je postal javen odprtokodni projekt 10. novembra 2009. Po nekaj letih razvijanja je bila 28. marca 2012 izdana prva stabilna različica, imenovana Go 1.[2] Avtor maskote in logotipa je Renée French. Maskota je pod licenco Creative Commons Attribution 3.0.[3]

Osnovne značilnosti jezika[uredi | uredi kodo]

Go poskuša kombinirati razvoj in hitrost delovanja v dinamičnem programskem jeziku, kakršen je Python, z zmogljivostjo in varnostjo prevajanih jezikov, kot sta C ali C++. Velike datoteke se prevedejo v le nekaj sekundah in prevedena koda se izvaja skor tako hitro kot v jeziku C.[4]

Go ni tipičen objektno usmerjen programski jezik. Čeprav dovoljuje objektno usmerjeni slog programiranja, ne pozna hierarhičnih tipov razredov. Koncept vmestnika ima drugačen pristop, ki naj bi bil lahek za uporabo in bolj splošen. Zaradi nehierarhičnosti so objekti veliko bolj vsestranski kot v jezikih, kot je java.[5] Da bi bil jezik bolj preprost, so nekatere komponente (dedovanje razredov, trditve (assertions), generično programiranje) namenoma izključene.[6]

Programska koda jezika Go je sestavljena iz:[7]

  • deklaracije in uvoza paketov
  • funkcij
  • spremenljivk
  • izjav in izrazov
  • komentarjev

Zgled programa HelloWorld![uredi | uredi kodo]

package main

import "fmt"

func main() {
	fmt.Println("Pozdravljen svet!")
}

Zgled programa Fibonaccijeva števila[uredi | uredi kodo]

package main

import "fmt"

// fib vrne funkcijo, ki vrne fibonnacijeva števila
func fib() func() int {
	a, b := 0, 1
	return func() int {
		a, b = b, a+b
		return a
	}
}

func main() {
	f := fib()
	// funkcijski klici se izvršujejo iz leve proti desni
	fmt.Println(f(), f(), f(), f(), f())
}

Sklici[uredi | uredi kodo]

  1. ^ "The Go Programming Language History" (angleščina). Golang.org. Pridobljeno dne 2015-12-22. 
  2. ^ "The Go Programming Language What is the status of the project?" (angleščina). Golang.org. Pridobljeno dne 2015-12-22. 
  3. ^ "The Go Programming Language What is the origin of the mascot?" (angleščina). Golang.org. Pridobljeno dne 2015-12-22. 
  4. ^ "Google's Go: A New Programming Language That's Python Meets C++" (angleščina). techcrunch.com. Pridobljeno dne 2015-12-22. 
  5. ^ "The Go Programming Language Is Go an object-oriented-language" (angleščina). Golang.org. Pridobljeno dne 2015-12-22. 
  6. ^ "What's the Go language really good for?" (angleščina). javaworld.com. Pridobljeno dne 2015-12-22. 
  7. ^ "What's the Go language really good for?" (angleščina). javaworld.com. Pridobljeno dne 2015-12-22.