Go (programspråk)
programspråk
Den här artikeln behöver fler eller bättre källhänvisningar för att kunna verifieras. (2023-12) Åtgärda genom att lägga till pålitliga källor (gärna som fotnoter). Uppgifter utan källhänvisning kan ifrågasättas och tas bort utan att det behöver diskuteras på diskussionssidan. |
Go är ett programsprå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.
Go | |
Paradigm | kompilerat imperativt parallellt strukturerat |
---|---|
Gavs ut | 2009 |
Skapat av | Robert Griesemer Rob Pike Ken Thompson |
Utvecklare | Google Inc. |
Senaste version | 1.21.5 (5 december 2023) |
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. |
Plattform | Linux, OpenBSD, FreeBSD, NetBSD, Mac OS, Microsoft Windows, Plan 9 |
Licens | BSD-licens |
Webbplats | golang.org |
Översikt
Skaparna till Go hade för avsikt att definiera 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.[1]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
Här följer några exempel.
Hello, World!
// 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ängarimport ("fmt")// main-funktionen som är startpunkten i alla exekverbara program skrivna i Gofunc main() {// En automatisk tilldelning av ett värde.// Genväg till `var enVariabel = "World"`enVariabel := "World"// Printf är en inbyggd funktion som tar emot en sträng och en ytterligare parametrar (dynamisk aritet)// och formaterar strängen enligt interpolationsvariablerna.fmt.Printf("Hello %s!\n", enVariabel)/**kompilera genom att först användago build <filnamn>.godär <filnamn> är filens namn.**/}
En enkel webbserver
package mainimport ("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
🔥 Top keywords: Portal:HuvudsidaSpecial:SökBörsen, KöpenhamnTuva NovotnySpecial:Senaste ändringarMarika Domanski LyforsCarlo AncelottiAnna Kinberg BatraJude BellinghamSverigeReal MadridUefa Champions LeagueUlf LyforsFilip HammarValborgsmässoaftonAlexander SkarsgårdAndrij LuninOscar Hiljemark17 aprilUmbrienJan EmanuelLista över USA:s delstater och territorierBaby ReindeerIBKingdom CenterFilibusterErling HaalandLuka ModrićPep GuardiolaFacebookSlaget vid BreitenfeldManchester City FCMelodifestivalen 2024Antonio RüdigerO.J. SimpsonIsraelJohan Floderus (tjänsteman)Jerrie MockIkea