Go (programspråk)

Från Wikipedia
Hoppa till: navigering, sök
Go[1]
Golang.png
Paradigm kompilerat imperativt parallellt strukturerat
Gavs ut 2009
Skapat av Robert Griesemer
Rob Pike
Ken Thompson
Utvecklare Google Inc.
Senaste version 1.4.2 (2015-02-17)
Senaste instabila version Ny version varje vecka(Varje vecka git)
Datatypsdisciplin starkt, statiskt
Implementationer gc(8g, 6g, 5g), gccgo
Influerat av C (programspråk), occam, Limbo, Modula, Newsqueak, Oberon, Python (programspråk), Pascal (programspråk) m.fl.
Platform Linux, OpenBSD, FreeBSD, NetBSD, OSX, Microsoft Windows, Plan 9
Licens BSD-licens
Webbplats golang.org


Go är ett programmeringsspråk ursprungligen utvecklat på Google Inc, av Robert Griesemer, Rob Pike, och Ken Thompson. Go är ett statiskt typat programspråk med syntax influerat av C, och tillhandahåller skräpsamling, typsäkerhet, inbyggda strukturer för hantering av parallella program, och ett stort standardbibliotek.

Översikt[redigera | redigera wikitext]

Skaparna till Go hade för avsikt att uppfinna ett språk som skulle vara lika effektivt som kompilerade språk med statiska typsystem samtidigt som språket i sig skulle vara lika enkelt och lättanvänt som dynamiska språk.[2] De huvudsakliga målen med språket är:

  • Säkerhet vad gäller typer och minneshantering.
  • Gott stöd för parallellprogrammering och kommunikation.
  • Hög effektivitet och latensfri minneshantering.
  • Korta kompileringstider.

Exempel[redigera | redigera wikitext]

Här följer några exempel.

Hello, World![redigera | redigera wikitext]

// Paket som ska bli exekverbara måste ha ett "main"-paket. main-funktionen måste finnas i detta paket (i roten för applikationen
package main
 
// Importering av standardbiblioteket fmt, som hanterar formatet av strängar
import (
	"fmt"
)
 
// main-funktionen som är startpunkten i alla exekverbara program skrivna i Go
func main() {
	// En automatisk tilldelning av ett värde.
	// Genväg till `var enVariabel = "World"`
	enVariabel := "World"
 
	// Printf funktionen tar en sträng och n ytterligare parametrar (dynamisk aritet)
	// och formaterar strängen enligt interpolationsvariablerna.
	fmt.Printf("Hello %s!\n", enVariabel)
 
	/**
		kompilera genom att först använda
			go build <filnamn>.go
		där <filnamn> är filens namn.
	**/
}

En enkel webbserver[redigera | redigera wikitext]

package main
 
import (
	"fmt"
	"net/http"
)
 
func handler(w http.ResponseWriter, req *http.Request){
	fmt.Fprintf(w, "Hello World!")
}
 
func main(){
	http.HandleFunc("/", handler)
	http.ListenAndServe(":8080", nil)
}

Referenser[redigera | redigera wikitext]

Huvudaklig källa till denna artikel är f.n. den engelska artikeln om samma ämne.
  1. ^ ”Go (programming language)”. http://en.wikipedia.org/wiki/Golang. Läst 1 februari 2012. 
  2. ^ ”Språkets officiella site”. http://golang.org. Läst 2 februari 2012.