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

Go
Таърихи таъсис 10 ноябр 2009[1][2]
Логотип
Мудир/роҳбар Sameer Ajmani[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]
Тавсеъадиҳанда Google, Rob Pike[d], Ken Thompson[d], The Go Authors[d] ва Robert Griesemer[d]
Тарроҳ 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, IBM AIX[d] ва illumos[d]
Нусха
Вебгоҳи расмӣ go.dev(англ.)
Хештеги GoogleGo ва golang
Иҷозатнома BSD licenses[d]
Ҳаққи таксир copyrighted[d]
Навъи медиа text/x-go[12]
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 дар моҳи сентябри соли 2007 оғоз ёфта, тарҳи мустақими он аз ҷониби Роберт Гризмер, Роб Пайк ва Кен Томпсон [14] коркард карда шудааст, ки қаблан дар таҳияи лоиҳаи системаи оператсионии 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.

Пайвандҳо

вироиш
  1. https://go.dev/blog/13years
  2. https://go.dev/doc/faq
  3. 3.0 3.1 3.2 https://golang.org/doc/faq#ancestors
  4. 4.0 4.1 https://go.dev/doc/faq#ancestors
  5. https://talks.golang.org/2015/gophercon-goevolution.slide#19 — 2015.
  6. 6.0 6.1 http://golang.org/doc/go_faq.html#ancestors
  7. https://talks.golang.org/2014/hellogophers.slide#21
  8. https://blog.golang.org/gopher
  9. https://github.com/golang/go/wiki/Gopher
  10. https://golang.org/doc/codewalk/functions/
  11. Release History
  12. https://gitlab.freedesktop.org/xdg/shared-mime-info/-/blob/Release-1-15/freedesktop.org.xml.in#L6247
  13. Google-go-language(пайванди дастнорас — таърих). 28 сентябри 2017 санҷида шуд. Баргирифта аз сарчашмаи аввал 18 Январ 2010.
  14. Language Design FAQ(пайванди дастнорас — таърих). 11 ноябри 2013 санҷида шуд. Баргирифта аз сарчашмаи аввал 7 Январ 2019.