I tre principali sviluppatori di Go di Google erano Robert Griesemer, Rob Pike e Ken Thompson. Il loro obiettivo era quello di creare un linguaggio, liberamente basato sulla sintassi del linguaggio di programmazione C, che eliminasse la "spazzatura estranea" di linguaggi come il C ++. Di conseguenza, Go rifugge molte caratteristiche di altri linguaggi moderni, come il metodo e l'overloading dell'operatore, l'aritmetica del puntatore e l'ereditarietà del tipo.
Go non è un linguaggio in formato libero: le sue convenzioni specificano molti dettagli di formattazione, incluso il modo in cui rientri indentazione e spazi. La lingua richiede che nessuna delle sue variabili dichiarate o librerie importate siano inutilizzate e che tutte le dichiarazioni di reso siano obbligatorie.
Go utilizza "tipo di inferenza" nelle dichiarazioni di variabili: il tipo di variabile, anziché essere una parte esplicita dell'istruzione di dichiarazione, viene dedotto dal tipo di valore stesso. Ad esempio, dove in C una variabile intera x può essere impostata sul valore 0 con l'istruzione.
int x = 0;
In Go la dichiarazione equivalente sarebbe:
x: = 0
La variabile verrebbe digitata come un intero in base al valore stesso.
Ecco il classico "Hello, World!" programma, come scritto in Go:
pacchetto principale import "fmt" func main () {fmt.Println ("Hello, World")}
Linguaggio di programmazione, termini di programmazione