GoGoogle ֆիրմայում մշակվող ծրագրավորման լեզու է[7]։ Լեզվի իրականացումը սկսվել է 2007 թվականին՝ Ռոբ Պայկի, Քեն Թոմփսոնի և Ռոբերտ Գրիսմերի կողմից[8]։ Go֊ն ստատիկ տիպիզացվող լեզու է, որի շարահյուսությունը շատ նման է C լեզվին, իսկ որոշ քերականական բաղադրիչներ ընդօրինակված են Oberon լեզվից։ Go լեզվի իրականացման անբաժանելի մաս է կազմում նաև ստանդարտ գրադարանը։

Go
Изображение логотипа
Տեսակկոմպիլյացվող, իմպերատիվ, ստրուկտուրավորված
Առաջացել էնոյեմբերի 10, 2009[1][2]
ՍտեղծողԳուգլ, Ռոբ Պայկ, Քեն Թոմփսոն, The Go Authors? և Ռոբերտն Գրիզմեր
ՆախագծողՌոբ Պայկ, Քեն Թոմփսոն և Ռոբերտն Գրիզմեր
Ընդլայնումներ.go
ՕՀDragonFly BSD, FreeBSD, Լինուքս, մաքՕՍ, NetBSD, OpenBSD, Պլան 9, Սոլարիս, Windows, iOS, Անդրոիդ, IBM AIX? և illumos?
Համացանցի տվյալների տեսակtext/x-go[3]
Ընթացիկ տարբերակ1.22.4 (հունիսի 4, 2024)[4]
Ներշնչվել էC, Oberon
ԱրտոնագիրBSD արտոնագիր
ՀմայագիրGo gopher?[5][6]
Կայքgo.dev(անգլ.)
 Go (programming language) Վիքիպահեստում

Go լեզուն հանրությանն է ներկայացվել 2009 թվականին, և այժմ օգտագործվում է Google֊ի որոշ նախագծերում[9]։

Նկարագրություն

խմբագրել

Go լեզվի ծրագրային միավորներ են փաթեթը (package) և ֆունկցիան (function)։ Ցույց տալու համար, որ մի որևէ ֆայլի պարունակությունը պատկանում է example փաթեթին, ֆայլի սկզբում պետք է գրել.

package example

Ֆունկցիայի սահմանումը սկսվում է func ծառայողական բառով, որին հետևում է ֆունկցիայի անունը, ապա՝ ֆորմալ պարամետրերի ցուցակը, և վերջում, եթե այդպիսին կա, ֆունկցիայի վերադարձրած արժեքի տիպը։ Օրինակ, երկու թվերի քառակուսիների գումարը հաշվող ֆունկցիան կարող է ունենալ հետևյալ տեսքը․

func sumSqr(a, b int) int {
  a2 := a * a
  b2 := b * b
  return a2 + b2
}

Օրինակներ

խմբագրել

Ամենակարճ ծրագիրը

խմբագրել

Go լեզվով գրված ամենակարճ ծրագիրը բաղկացած է main փաթեթում main ֆունկցիայի սահմանումից։

package main

func main() {}

Կոորդինատի մոդելը

խմբագրել

Go լեզվում կառուցվածք (գրառում) բաղադրյալ տիպը սահմանվում է struct նկարագրիչի օգնությամբ։ Եթե դեկարտյան կետը բաղկացած է աբսցիսը ցույց տվող   և օրդինատը ցույց տվող   դաշտերից, ապա cartesian կառուցվածքը կսահմանվի հետևյալ կերպ։

type cartesian struct {
 x, y float64
}

cartesian տիպի օբյեկտի հետ աշխատելու համար Go լեզուն թույլ է տալիս սահմանել մեթոդներ։ Օրինակ, կոորդինատների սկզբնակետից տրված կետւ հեռավորությունը հաշվող radius մեթոդը կսահմանվի այսպես․

func (p cartesian) radius() float64 {
 return math.Sqrt(p.x * p.x + p.y * p.y)
}

Իրականացումներ

խմբագրել

Բացի Google֊ի իրականացումից, Go լեզուն իրականացված է նաև gcc փաթեթում՝ gccgo անունով։ Google֊ի gc կոմպիլյատորը իրականացված է Linux, OS X, FreeBSD, NetBSD, OpenBSD, Plan 9, Solaris և Windows օպերացիոն համակարգերի համար[10]։

Ծանոթագրություններ

խմբագրել
  1. https://go.dev/blog/13years
  2. https://go.dev/doc/faq
  3. https://gitlab.freedesktop.org/xdg/shared-mime-info/-/blob/Release-1-15/freedesktop.org.xml.in#L6247
  4. Release History
  5. https://blog.golang.org/gopher
  6. https://github.com/golang/go/wiki/Gopher
  7. Kincaid, Jason (2009 թ․ նոյեմբերի 10). «Google's Go: A New Programming Language That's Python Meets C++». TechCrunch. Վերցված է 2010 թ․ հունվարի 18-ին.
  8. «Language Design FAQ». golang.org. 2010 թ․ հունվարի 16. Վերցված է 2010 թ․ փետրվարի 27-ին.
  9. «Go FAQ: Is Google using Go internally?». Վերցված է 2013 թ․ մարտի 9-ին.
  10. «Installing Go». golang.org. The Go Authors. 2010 թ․ հունիսի 11. Վերցված է 2010 թ․ հունիսի 11-ին.
 Վիքիպահեստն ունի նյութեր, որոնք վերաբերում են «Go (ծրագրավորման լեզու)» հոդվածին։