Jump to content

Go

Мавод аз Википедиа — донишномаи озод
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 (аксар вақт чунин: golang меноманд) яке аз забони барноманависии бисёрриштагиест, ки дар дохили ширкати Google таҳия шудааст[13].

Таҳияи 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.