Go — компилируемый, многопоточный язык программирования, разработанный компанией Google. Первоначальная разработка Go началась в сентябре 2007 года, а его непосредственным проектированием занимались Роберт Гризмер, Роб Пайк и Кен Томпсон. Официально язык был представлен в ноябре 2009. На данный момент его поддержка осуществляется лишь для операционных систем Linux и Mac OS X.
Хало-ворлд пример:
package main
import "fmt"
func main()
{
fmt.Printf("Hello, World!\n")
}
Если обратить внимание на динозавров разработчиков языка, то видно, что именно они являются разработчиками эпохального языка Си, значение которого в этой области невозможно переоценить. Что об очень многом говорит и доставляет.
Синтаксис языка Go схож с синтаксисом языка Си, за исключением объявлений типа; прочие синтаксические различия заключаются в отсутствии скобок для условных конструкций for и if. Язык также поддерживает сборку мусора (garbage collection). Модель многопоточности Go была создана на основе CSP Тони Хоара по типу предыдущих распараллеливаемых языков программирования Occam и Limbo, но также присутствуют такие особенности Пи-исчисления как канальная передача.
Однако отсутствуют такие возможности как обработка исключений, наследование типов, обобщённое программирование, использование утверждений и переопределение методов. Однако, у Google есть в дальнейших планах возможность добавления обобщённого программирования, тогда как против использования утверждений в FAQ по языку приводятся аргументы, а наследование без указания типа, наоборот, отстаивается. В отличие от Java присутствует поддержка ассоциативных массивов (в виде хэшей или словарей) как и строк.
Источник: Go (язык программирования)
