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. (на английски)
Външни препратки
[редактиране | редактиране на кода]
|