Język programowania Go jest zdecydowanie skierowany do programistów oczekujących efektywnego, sprawnego a także nieskomplikowanego tworzenia oprogramowań. Należy do języków kompilowanych, współbieżnych a także statycznie typowanych.
Go został opracowany na licencji BSD w 2009 roku przez Kena Thompsona, Roba Pikea i Roberta Griesemera, pracowników Google.
Powyższy język programowania łączy w sobie zalety języków silnie typowanych jak i języków dynamicznych, ułatwiających pisanie aplikacji, na przykład takich jak Python czy Lips. Oprócz tego wzorowany był również na językach C i C++ pod względem wydajności języków kompilowanych. Dodatkowo język Go wyposażony jest w garbage collector, który zapobiega wszelkim problemom związanym z uwalnianiem pamięci. Obiektowość w tym języku sprawowana jest za pomocą interfejsów i metod do typów. Oprócz tego Go nie posiada klas, co zdecydowanie wpływa na łatwość programowania w nim. Warto wspomnieć, że podczas pracy z Go, nie występują żadne problemy ze znakami, które wykraczałyby poza tablicę znaków ASCII a to wszystko dzięki pełnemu wsparciu Unicode. Dodatkowym atutem jest na pewno bezpieczeństwo typowania a także dostępu do pamięci. Język Go nie obsługuje arytmetyki wskaźników jednak za to oferuje wskaźniki. Programiści Go mają do wyboru dwa kompilatory: 6g i 8g a do tego kompilator alternatywny (Gccgo, bazujący na GCC).
Go jest językiem konkurencyjnym w dziedzinie aplikacji back-endowych – serwerów API, HTTP czy prostych narzędzi konsolowych. A to wszystko dzięki bogatej bibliotece standardowej, która zawiera wysokiej jakości implementacje protokołów sieciowych, sterowników do baz danych, serializacji czy kryptografii. Programista Go dzięki takim atutom, ma znacznie ułatwioną pracę z tym językiem. Dodatkowo istnieje możliwość pisania w Go na różnych systemach, należą do nich między innymi: Linux, NetBSD, FreeBSD czy MS Windows oraz Plan 9 dla platform ARM, amd64 czy IBM PowerPC.