Go (programski jezik)

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]

Maskota Gopher

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

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 skoraj 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:[6]

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

Zgled programa HelloWorld! uredi

package main

import "fmt"

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

Zgled programa Fibonaccijeva števila uredi

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

  1. »The Go Programming Language History« (v angleščini). Golang.org. Pridobljeno 22. decembra 2015.
  2. »The Go Programming Language What is the status of the project?« (v angleščini). Golang.org. Pridobljeno 22. decembra 2015.
  3. »The Go Programming Language What is the origin of the mascot?« (v angleščini). Golang.org. Pridobljeno 22. decembra 2015.
  4. »Google's Go: A New Programming Language That's Python Meets C++« (v angleščini). techcrunch.com. Pridobljeno 22. decembra 2015.
  5. »The Go Programming Language Is Go an object-oriented-language« (v angleščini). Golang.org. Pridobljeno 22. decembra 2015.
  6. 6,0 6,1 »What's the Go language really good for?« (v angleščini). javaworld.com. Arhivirano iz prvotnega spletišča dne 22. decembra 2015. Pridobljeno 22. decembra 2015.