Go's drie hoofdontwikkelaars bij Google waren Robert Griesemer, Rob Pike en Ken Thompson. Hun doel was om een taal te creëren, losjes gebaseerd op de syntaxis van de programmeertaal C, die de "vreemde rommel" van talen zoals C ++ zou elimineren. Dientengevolge vermijdt Go veel functies van andere moderne talen, zoals overbelasting van de methode en operator, wijzerberekening en typeovererving.
Go is geen vrije vormtaal: de conventies specificeren veel opmaakdetails, waaronder hoe inspringen en spaties moeten worden gebruikt. De taal vereist dat geen van de gedeclareerde variabelen of geïmporteerde bibliotheken ongebruikt zijn en dat alle return-statements verplicht zijn.
Go gebruikt "type gevolgtrekking" in variabele declaraties: het variabele type, in plaats van een expliciet onderdeel van de verklaring, wordt afgeleid door het waardetype zelf. Bijvoorbeeld, waar in C een integer variabele x kan worden ingesteld op de waarde 0 met de instructie.
int x = 0;
In Go zou de equivalente verklaring zijn:
x: = 0
De variabele wordt getypt als een geheel getal op basis van de waarde zelf.
Hier is de klassieker "Hallo, wereld!" programma, zoals geschreven in Go:
pakket main import "fmt" func main () {fmt.Println ("Hello, World")}
Programmeertaal, programmeervoorwaarden