Go

Go
Таърихи таъсис 10 ноябр 2009[1][2]
Логотип
Номида ба шарафи M. monax[d]
Мудир/роҳбар Sameer Ajmani[d]
Тавсеъадиҳанда Google, Rob Pike[d], Ken Thompson[d], The Go Authors[d] ва Robert Griesemer[d]
Пазируфтаи асари Си[3], Oberon-2[d], Limbo[d][4], Active Oberon[d], communicating sequential processes[d][4], Паскал (забони барноманависӣ)[3], Оберон[3], Smalltalk[5], Newsqueak[d][6], Модула-2[6], Alef[d], АПЛ (забони барноманависӣ)[7], BCPL[d], Modula[d] ва Occam
Намоди хушшонсӣ Go gopher[d][8][9]
Парадигми барноманависӣ structured programming[d], procedural programming[d], imperative programming[d], concurrent computing[d], барноманависии шайъгаро ва functional programming[d][10]
Тарроҳ Rob Pike[d], Ken Thompson[d] ва Robert Griesemer[d]
Систем-омил DragonFly BSD[d], FreeBSD[d], Linux[d], macOS, NetBSD[d], OpenBSD[d], Plan 9[d], Solaris[d], Windows, АйОс, Android, AIX[d] ва illumos[d]
Issue tracker URL go-review.googlesource.com
Вебгоҳи расмӣ go.dev(англ.)
Хештеги GoogleGo ва golang
Иҷозатнома BSD licenses[d]
Ҳаққи таксир copyrighted[d]
Навъи медиа text/x-go[11]
Reply to C++
Typing discipline inference typing[d], static typing[d], structural typing[d], strong typing[d] ва duck typing[d]
Шумори пайгирон 166 743 ва 205 833
Пешванди парванда .go
 Парвандаҳо дар Викианбор

Go (аксар вақт чунин: golang меноманд) яке аз забони барноманависии бисёрриштагиест, ки дар дохили ширкати Google таҳия шудааст[12].

Таҳияи Go дар моҳи сентябри соли 2007 оғоз ёфта, тарҳи мустақими он аз ҷониби Роберт Гризмер, Роб Пайк ва Кен Томпсон [13] коркард карда шудааст, ки қаблан дар таҳияи лоиҳаи системаи оператсионии Inferno иштирок карда буданд. Ин забони барноманависӣ моҳи ноябри соли 2009 расман муаррифӣ шуд.

Намунаи забони барноманависии Go

Дар поён намунаи забони барноманависии Go дар барномаи «Hello, World!» намоиш дода шудаст.

package main

import "fmt"

func main() {
	fmt.Println("Hello, World!")
}

Намунаи иҷрои дархости Unix echo:

package main

import (
	"os"
	"flag" // парсер параметров командной строки
)

var omitNewLine = flag.Bool("n", false, "не печатать знак новой строки")

const (
	Space = " "
	NewLine = "\n"
)

func main() {
	flag.Parse() // Сканирование списка аргументов и установка флагов
	var s string
	for i := 0; i < flag.NArg(); i++ {
		if i > 0 {
			s += Space
		}
		s += flag.Arg(i)
	}
	if !*omitNewLine {
		s += NewLine
	}
	os.Stdout.WriteString(s)
}

Нигаред

Эзоҳ

Адабиёт

  • Донован, Алан А. А., Керниган, Брайан, У. Язык программирования Go = The Go Programming Language. — М.: ООО «И.Д. Вильямс», 2016. — С. 432. — ISBN 978-5-8459-2051-5.
  • Батчер М., Фарина М. Go на практике. — «ДМК Пресс», 2017. — С. 374. — ISBN 978-5-97060-477-9.
  • Марк Саммерфильд. Программирование на Go. Разработка приложений XXI века. — «ДМК Пресс», 2013. — С. 580. — ISBN 978-5-94074-854-0.

Пайвандҳо