Go е език за програмиране, разработен от Google. Първоначалният проект на Go е започнат през септември 2007 г. от Робърт Гриземер, Роб Пайк и Кен Томпсън. Разработката на езика е от 2007 година, но официално е обявен през 2009 година в бета-версия. Въпреки това днес Go се използва в някои приложения на Google, както и в сайта на Go.

Цел Според създателите на Go целта за създаването му е била породена от появата на многоядрени процесори, паралелни изчисления и ускоряването на работата на компютрите, но не и за разработката на софтуер. Компилира се бързо.

Характеристика Go е статичен, компилиращ се език с автоматично освобождаване на ресурсите (garbage-collected). Синтаксиса му е близък до този на C с някои изключения. Обектно ориентиран е, но няма класове. Има само един цикъл – for, конструкции if и Switch.

Има вграден мениджър на пакетите (go get), вградени примитиви за паралелна работа, леки (light-weight) процеси наречени goroutines както и channels.

Има компилатори за следните операционни системи: linux, freebsd, darwin(Mac OS X 10.5 or 10.6), 64-bit x86, 32-bit x86 и 32-bit ARM, както и за Windows XP и нататък.

Примерна програма Програмата Hello, world package main

import "fmt"

func main() { fmt.Printf("Hello, world") } Пример (константи, проеменливи, for, switch): package main

import "fmt"

const ( HELLO = "Hello" INTERVAL = " " GOLANG = "Go" )

var ( hello string = "Hello" world string = "World" )

func main() { // for for i := 0 ; i < 5 ; i++ { fmt.Println(i) } fmt.Println(hello + " " + world) fmt.Println(HELLO + INTERVAL + GOLANG) // switch switch { case len(HELLO) < len(GOLANG): fmt.Println("len(HELLO) < len(GOLANG)") case len(HELLO) > len(GOLANG): fmt.Println("len(HELLO) > len(GOLANG)")

Ключови думи break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for import return var

Конвенции за писане на код Създателите на езика полагат усилия за да стандартизират начина на писане на код, идентациите и стила. За целта има създадена страница с най-добрите практики.

Лиценз Лицензът е BSD.

Източници

Външни препратки golang.org Go blog Go tutorial

Категория:Езици за програмиране Категория:Гугъл Категория:Изобретения в САЩ