From Wikipedia, the free encyclopedia
Go-ն Google ֆիրմայում մշակվող ծրագրավորման լեզու է[7]։ Լեզվի իրականացումը սկսվել է 2007 թվականին՝ Ռոբ Պայկի, Քեն Թոմփսոնի և Ռոբերտ Գրիսմերի կողմից[8]։ Go֊ն ստատիկ տիպիզացվող լեզու է, որի շարահյուսությունը շատ նման է C լեզվին, իսկ որոշ քերականական բաղադրիչներ ընդօրինակված են Oberon լեզվից։ 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.23.0 (օգոստոսի 13, 2024)[4] |
Ներշնչվել է | C, Oberon |
Արտոնագիր | BSD արտոնագիր |
Հմայագիր | Go gopher?[5][6] |
Կայք | go.dev(անգլ.) |
![]() |
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]։
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.