Go (език за програмиране)
Go | |
Парадигма | обектно ориентиран, процедурен |
---|---|
Реализиране през | 2009 г. |
Автор | Google и Роб Пайк, Кен Томпсън, Робърт Гриземер |
Типизация на данните | статичен |
Повлиян от | C, Oberon, Limbo |
Повлиява | - |
Уебсайт | golang.org |
Go в Общомедия |
Go е език за програмиране, разработен от Google.[1] Първоначалният проект на Go е започнат през септември 2007 г. от Робърт Гриземер, Роб Пайк и Кен Томпсън.[2] Разработката на езика е от 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.
Източници[редактиране | редактиране на кода]
- ↑ Jason Kincaid. Google's Go: A New Programming Language That's Python Meets C++ // TechCrunch. Посетен на 3 март 2011. (на английски)
- ↑ "Language Design FAQ" // Посетен на 3 март 2011. (на английски)
Външни препратки[редактиране | редактиране на кода]
|