Go (programspråk)

Från Wikipedia
Hoppa till: navigering, sök
Go[1]
Paradigm kompilerat imperativt parallellt strukturerat
Gavs ut 2007
Skapat av Robert Griesemer
Rob Pike
Ken Thompson
Utvecklare Google Inc.
Senaste version 1.3.3 (2014-10-01)
Senaste instabila version Ny version varje vecka(Varje vecka mercurial)
Datatypsdisciplin starkt, statiskt
Implementationer gc(8g, 6g, 5g), gccgo
Influerat av C (programspråk), Python (programspråk), Pascal (programspråk) m.fl.
Platform Linux, OpenBSD, FreeBSD, OSX, delvis Microsoft Windows
Licens BSD-licens
Webbplats golang.org

Go är ett UTF-8 teckenkodat, kompilerat, minneshanterat parallellt programmeringsspråk som utvecklas av Google Inc.

Ö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.