Go (programspråk)

I dagens artikel ska vi fördjupa oss i den fascinerande världen av Go (programspråk). Vi kommer att utforska dess ursprung, dess utveckling över tid, dess inverkan på det nuvarande samhället och dess möjliga framtida implikationer. Från starten till dess nuvarande tillstånd har Go (programspråk) spelat en avgörande roll i olika aspekter av mänskligt liv, och det är viktigt att förstå dess betydelse för att bättre förstå världen omkring oss. I den här artikeln kommer vi att undersöka Go (programspråk) ur olika perspektiv och erbjuda en detaljerad analys av dess inflytande i dagens värld. Gör dig redo att ge dig ut på en upptäcktsresa och lär dig om Go (programspråk)!

Go
Paradigmkompilerat imperativt parallellt strukturerat
Gavs ut2009
Skapat avRobert Griesemer
Rob Pike
Ken Thompson
UtvecklareGoogle Inc.
Senaste version1.21.5 (5 december 2023)
Senaste instabila versionNy version varje vecka(Varje vecka git)
Datatypsdisciplinstarkt, statiskt
Implementationergc(8g, 6g, 5g), gccgo
Influerat avC (programspråk), occam, Limbo, Modula, Newsqueak, Oberon, Python (programspråk), Pascal (programspråk) m.fl.
PlattformLinux, OpenBSD, FreeBSD, NetBSD, Mac OS, Microsoft Windows, Plan 9
LicensBSD-licens
Webbplatsgolang.org

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.

Ö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ä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 ä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ända
			go build <filnamn>.go
		där <filnamn> är filens namn.
	**/
}

En enkel webbserver

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