Jump to content

Go (ծրագրավորման լեզու)

Վիքիպեդիայից՝ ազատ հանրագիտարանից
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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) Վիքիպահեստում

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

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 (ծրագրավորման լեզու)» հոդվածին։