Go (език за програмиране)

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене
Go
Парадигма обектно ориентиран, процедурен
Реализиране през 2009 г.
Автор Google и
Роб Пайк, Кен Томпсън, Робърт Гриземер
Типизация на данните статичен
Повлиян от C, Oberon, Limbo
Повлиява -
Уебсайт golang.org

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

Цел[редактиране | edit source]

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

Характеристика[редактиране | edit source]

Go е статичен, компилиращ се език с автоматично освобождаване на ресурсите (garbage-collected). Синтаксиса му е близък до този на C с някои изключения. Обектно ориентиран е, но няма класове. Има само един цикъл - for, конструкции if и Switch.В момента има компилатори за следните операционни системи: linux, freebsd, darwin(Mac OS X 10.5 or 10.6) , 64-bit x86, 32-bit x86 и 32-bit ARM. В момента няма официална поддръжка на Go за Windows, макар да го има от трети страни.

Примерна програма[редактиране | edit source]

Програмата 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)")
    }
 
}

Ключови думи[редактиране | edit source]

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

Лиценз[редактиране | edit source]

Лицензът е BSD.

Източници[редактиране | edit source]

  1. Jason Kincaid. Google's Go: A New Programming Language That's Python Meets C++. // TechCrunch. Посетен на 2011-03-03.
  2. "Language Design FAQ". // Посетен на 2011-03-03.

Външни препратки[редактиране | edit source]