Go (dasturlash tili)
|
| |
| Парадигмалари | Мулти-парадигм: cонcуррент императиве, обжеcт-ориэнтед[1][2] |
|---|---|
| Муаллифи |
Роберт Гриэсемер Роб Пике Кен Тҳомпсон |
| Тузилган йили | 10-ноябр, 2009-йил |
| Операцион тизим | ДрагонФлй БСД, ФреэБСД, Линух, маcОС, НетБСД, ОпенБСД,[3] План 9[4], Соларис, Wиндоwс |
| Лицензия | 3-cлаусе БСД[5] + патент грант[6]. |
| Бунинг асосида тузилган тиллар | |
| Один, Cрйстал, Зиг | |
Го – бу Гоогле да Роберт Гриэсемер, Роб Пике ва Кен Томпсон томонидан ишлаб чиқилган статик тарзда терилган, компиляция қилинган дастурлаш тилидир[7]. У синтактик жиҳатдан C га о'хшайди, лекин хотира хавфсизлиги, ахлат йиг'иш, тизимли ёзиш, ва CСП услубидаги параллеллик билан[8]. Илгари голанг.орг домен номи туфайли у ко'пинча Голанг деб аталади, лекин унинг то'г'ри номи Го[9].
- Гоогле'нинг о'з-о'зини хостинги[10] "гc" компилятор асбоблар занжири, бир нечта операцион тизимларга ва WебАссемблйга мо'лжалланган[11].
- гофронтенд, либго кутубхонаси билан бошқа компиляторлар учун фронтенд. ГCC билан комбинация гccго[12]; ЛЛВМ билан комбинация голлвм[13]. [а]
Учинчи томон манбадан манбага компилятор, ГопҳерЖС[15], компиляция қилади Фронт-энд веб-ишлаб чиқиш учун ЖаваСcрипт-га о'тинг.
Тарихи
Го 2007-йилда Гоогле'да ко'п ядроли, тармоқли машиналар ва катта код базалари даврида дастурлаш самарадорлигини ошириш учун ишлаб чиқилган[16]. Дизайнерлар Гоогле-да қо'лланиладиган бошқа тилларнинг танқидига мурожаат қилишни хоҳлашди, лекин уларнинг фойдали хусусиятларини сақлаб қолишди[17]:
- Статик ёзиш ва иш вақти самарадорлиги (C каби)
- О'қиш ва фойдаланиш қулайлиги (масалан, Пйтҳон ёки ЖаваСcрипт)[18]
- Юқори самарали тармоқ ва мултипроcессинг
Унинг дизайнерлари, биринчи навбатда, C++ тилини ёқтирмасликлари сабаб бо'лган[19][20][21].
Го 2009-йил ноябр ойида оммага э'лон қилинди[22] ва 1.0 версияси 2012-йил март ойида чиқарилди[23] Го Гоогле ва бошқа кўплаб ташкилотлар ва очиқ кодли лойиҳаларда ишлаб чиқаришда кенг қўлланади.

2016-йил ноябр ойида Го ва Го Моно шрифтлари тип дизайнерлари Чарлз Бигелоw ва Крис Холмс томонидан махсус Го лойиҳаси томонидан фойдаланиш учун чиқарилди. Го - бу Луcида Гранде -га о'хшаш гуманистик санс-сериф, Го Моно эса монофазода. Иккала шрифт ҳам WГЛ4 белгилар то'пламига мос келади ва катта х-баландлиги ва аниқ ҳарф шакллари билан о'қилиши учун мо'лжалланган. Го ва Го Моно иккаласи ҳам ДИН 1450 стандартига мос келади, улар қиррали нол, думли кичик л ва серифли катта И ҳарфига эга.[24][25].
2018-йилнинг апрел ойида асл логотип ўрнига эгилган ўнг томонга стилизе қилинган ГО ўнг томондаги чизиқлар қўйилган. (Гофер талисмаси ўзгаришсиз қолди[26].)
Умумий
Го-нинг дастлабки версияларида умумий дастурлашни қо'ллаб-қувватламаслиги жиддий танқидларга сабаб бо'лди[27]. Дизайнерлар умумий дастурлашга очиқлик билдиришди ва о'рнатилган функсиялар аслида умумий тип эканлигини, лекин улар алоҳида ҳолатлар сифатида ко'риб чиқилишини та'кидладилар; Пике буни бир нуқтада о'згартирилиши мумкин бо'лган заифлик деб атади[28]. Гоогле жамоаси генериклар билан экспериментал Го диалекти учун камида битта компилятор яратди, лекин уни чиқармади[29].
2018-йил август ойида Го асосий иштирокчилари умумий дастурлаш ва хатоларни ҳал қилиш учун лойиҳа лойиҳаларини нашр этишди ва фойдаланувчилардан фикр-мулоҳазаларини юборишни сўрашди[30][31]. Бироқ, хатоларни ко'риб чиқиш таклифи охир-оқибат бекор қилинди[32].
2020-йил июн ойида умумий функсиялар ва турларни э’лон қилиш учун Го-га керакли синтаксисни қўшадиган янги дизайн ҳужжати[33] лойиҳаси чоп этилди. Кодни таржима қилиш воситаси, , фойдаланувчиларга янги синтаксисни, шунингдек, онлайн Го Плайгроунд-нинг генериcс-ёқилган версиясини синаб ко'риш имконини бериш учун тақдим этилган[34].
Версиялар
Го 1 стандарт кутубхонанинг тил спецификацияси ва асосий қисмлари учун[35] мувофиқлигини кафолатлайди. Жорий Го 1.18[36] версиясигача бо'лган барча версиялар бу ва'дани сақлаб қолди.
Ҳар бир йирик Го версияси иккита янги асосий релизлар пайдо бо'лгунча қо'ллаб-қувватланади[37].
Дизайн
Го га C (айниқса, План 9 диалекти[38]) та'сир қилади, лекин ко'проқ соддалик ва хавфсизликка ург'у берилади. У қуйидагилардан иборат:
- Динамик тилларда кенг тарқалган нақшларни қабул қилувчи синтаксис ва муҳит[39]:
- - Ихтиёрий қисқача о'згарувчилар декларацияси ва турдаги хулосалар орқали ишга тушириш (
х := 0инт х = 0;х := 00; ёкивар х = 0;) - – Тез компиляция
- – Пакетларни масофадан бошқариш (
го гет)[40] ва онлайн пакет ҳужжатлари[41]
- Муайян муаммоларга о'зига хос ёндашувлар:
- - О'рнатилган параллеллик ибтидоийлари: энгил жараёнлар (горутинлар), каналлар ва
селеcтбаёноти - – Виртуал мерос ўрнига интерфейс тизими ва виртуал бўлмаган мерос ўрнига ўрнатиш тури
- – Асбоблар занжири, сукут бўйича, ташқи боғлиқликларсиз статик боғланган маҳаллий иккилик файлларни ишлаб чиқаради
- Тил спецификациясини дастурчининг бошида ушлаб турадиган даражада содда сақлаш истаги[42], қисман шунга о'хшаш тилларда кенг тарқалган хусусиятларни э'тиборсиз қолдириш орқали.
Синтаксис
Го синтаксиси C дан кодни қисқа ва о'қилиши мумкин бо'лган о'згаришларни о'з ичига олади. Дастурчига и := 3 ни ёзиш имконини берувчи бирлаштирилган декларация/инсиализация оператори жорий этилди и := 3 ёки с := "Ҳелло, wорлд!", ишлатиладиган о'згарувчилар турларини ко'рсатмасдан. Бу C нинг инт и = 3; ва cонст чар *с = "Ҳелло, wорлд!" ;. Нуқтали вергул ҳали ҳам баёнотларни тугатади; [б], лекин чизиқ охири келганда яширин бо'лади. [c] Усуллар бир нечта қийматларни қайтариши мумкин ва ресулт, эрр паир усули Го'да қо'нг'ироқ қилувчига хатони ко'рсатадиган ан'анавий усулдир. [д] Го тузилма параметрларини ном бўйича ишга тушириш ҳамда хариталар ва бўлакларни ишга тушириш учун сўзма-сўз синтаксисларни қўшади. C нинг учли фор лооп иборасига муқобил сифатида Го ранге ифодалар массивлар, бо'лимлар, сатрлар, хариталар ва каналлар устидан қисқача такрорлаш имконини беради[45].
Турлари
Го-да бир қатор о'рнатилган турлар мавжуд, жумладан рақамли (, , ва бошқалар), мантиқий ва белгилар сатрлари ( ). Сатрлар о'згармасдир; о'рнатилган операторлар ва калит со'злар (функсиялар о'рнига) бирлаштириш, таққослаш ва УТФ-8 кодлаш/декодлашни та'минлайди[46]. Ёзув турлари билан белгиланиши мумкин калит со'зи[47].
Ҳар бир тур учун ва ҳар бир манфий бо'лмаган бутун сон доимийси, белгиланган массив тури мавжуд ; турли узунликдаги массивлар шунинг учун ҳар хил турдаги. Динамик массивлар "бо'лаклар" шаклида мавжуд. Улар массивни кенгайтириш учун қачон янги хотира ажратиш кераклигини ко'рсатадиган узунлик ва сиг'имга эга. Бир нечта бо'лаклар о'зларининг асосий хотираларини баҳам ко'ришлари мумкин[48][49].
Ко'рсаткичлар барча турлар учун мавжуд ва ко'рсатгич - тури белгиланган. Манзил олиш ва билвосита фойдаланиш ва операторлар, C да бо'лгани каби, ёки усул чақируви ёки атрибутга кириш синтаксиси орқали билвосита содир бо'лади[50][51]. Ҳеч қандай ко'рсаткич арифметикаси ё'қ, [лоwер-алпҳа 5] махсус орқали ташқари Стандарт кутубхонадаги ко'рсаткич тури[52].
Бир жуфт тур учун, , тури - хеш-жадвалларни хариталаш тури- Ёзиш учун тугмалари - қийматлари. Хеш-жадваллар махсус синтаксис ва о'рнатилган функсиялар билан тилга киритилган. - бир вақтнинг о'зида Го жараёнлари о'ртасида Т типидаги қийматларни юбориш имконини берувчи канал[53].
Интерфейсларни қо'ллаб-қувватлашдан ташқари, Го типидаги тизим номиналдир : тҳе калит со'зи бир хил тузилишга эга бо'лган бошқа номли турлардан фарқ қиладиган янги номланган турни аниқлаш учун ишлатилиши мумкин (агар бо'лса, бир хил а'золар бир хил тартибда). Турлар орасидаги ба'зи конвертациялар (масалан, турли хил тамсайıлар турлари о'ртасида) олдиндан белгиланган ва янги турни қо'шиш қо'шимча конверсияларни белгилаши мумкин, аммо номланган турлар орасидаги конвертация ҳар доим аниқ чақирилиши керак[54]. Масалан, калит со'зидан 32-битли белгисиз бутун сонларга асосланган ИПв4 манзиллари турини аниқлаш учун фойдаланиш мумкин:
тйпе ипв4аддр уинт32
Ушбу турдаги та'риф билан, ни изоҳлайди қиймати ИП манзил сифатида. Шунчаки тайинлаш туридаги о'згарувчига - бу турдаги хато.
Доимий иборалар терилган ёки "типланмаган" бо'лиши мумкин; Агар улар ифодалаган қиймат компиляция вақти текширувидан о'ца, улар типланган о'згарувчига тайинланганда тур берилади[55].
Функсия турлари билан ко'рсатилган калит со'зи; улар нол ёки ундан ко'п параметрларни олади ва нол ёки ундан ко'п қийматларни қайтаради, уларнинг барчаси ёзилади. Параметр ва қайтиш қийматлари функсия турини аниқлайди; шундай қилиб, - а оладиган функсиялар тури ва 32-битли имзоланган тамсайı ва имзоланган бутун сонни (стандарт кенгликдаги) ва о'рнатилган интерфейс тури қийматини қайтаринг[56].
Ҳар қандай номланган турда у билан бог'ланган усуллар то'плами мавжуд. Юқоридаги ИП-манзил мисоли унинг қиймати ма'лум стандарт эканлигини текшириш усули билан кенгайтирилиши мумкин:
// ЗероБроадcаст репорц wҳетҳер аддр ис 255.255.255.255.
фунc (аддр ипв4аддр) ЗероБроадcаст() боол {
ретурн аддр == 0хФФФФФФФФ
}
Номинал типлаш туфайли ушбу усул та'рифи усулни қо'шади, лекин ёқилмаган. Усуллар махсус та'риф ва чақирув синтаксисига эга бо'лса-да, аниқ усул тури мавжуд эмас[57].
Интерфейс тизими
Го синф меросини алмаштирадиган иккита хусусиятни тақдим этади.
Биринчиси, композициянинг автоматлаштирилган шакли сифатида ко'риб чиқилиши мумкин бо'лган жойлаштиришдир.
Иккинчиси унинг интерфейслари бо'либ, иш вақти полиморфизмини та'минлайди[58]. :266Интерфейслар турлар синфидир ва Го нинг бошқа номинал турдаги тизимида структуравий ёзишнинг чекланган шаклини та'минлайди. Интерфейс типидаги обект ҳам C++ обектлари бир вақтнинг о'зида асосий ва ҳосила синфига о'хшаб бошқа турдагидир. Го интерфейслари Смаллталк дастурлаш тилидаги протоколлардан кейин ишлаб чиқилган[59]. Бир нечта манбалар Го интерфейсларини тавсифлашда о'рдак ёзиш атамасидан фойдаланади[60][61]. О'рдак териш атамаси аниқ та'рифланмаган ва шунинг учун ното'г'ри бо'лмаса-да, бу одатда турга мувофиқлиги статик равишда текширилмаганлигини англатади. Го интерфейсига мувофиқлик Го компилятори томонидан статик тарзда текширилганлиги сабабли (турни тасдиқлашдан ташқари), Го муаллифлари тизимли ёзиш атамасини афзал ко'радилар[62].
Интерфейс турининг та'рифи талаб қилинадиган усулларнинг номи ва тури бо'йича ро'йхатини беради. И турдаги интерфейснинг барча талаб қилинадиган усулларига мос келадиган функсиялари мавжуд бо'лган Т типидаги ҳар қандай обект ҳам И турдаги обект ҳисобланади. Т турининг та'рифи И турни аниқлаши шарт эмас (ва мумкин эмас). Масалан, агар, қуйидагича аниқланади
импорт "матҳ"
тйпе Шапе интерфаcе {
Ареа() флоат64
}
тйпе Сқуаре струcт { // Ноте: но "имплеменц" деcларатион
сиде флоат64
}
фунc (сқ Сқуаре) Ареа() флоат64 { ретурн сқ.сиде * сқ.сиде }
тйпе Cирcле струcт { // Но "имплеменц" деcларатион ҳере эитҳер
радиус флоат64
}
фунc (c Cирcле) Ареа() флоат64 { ретурн матҳ.Пи * матҳ.Поw(c.радиус, 2) }
Интерфейслар орқали усулларни чақиришдан ташқари, Го интерфейс қийматларини иш вақти турини текшириш билан бошқа турларга айлантириш имконини беради. Буни амалга ошириш учун тил конструксиялари битта потенциал турга қарши текширадиган тур тасдиқи[63] ва бир нечта турга қарши текширадиган турдаги сwитч[64] ҳисобланади.
Бо'ш интерфейс интерфаcе{} муҳим асосий ҳолатдир, чунки у ҳар қандай аниқ турдаги элементга мурожаат қилиши мумкин. га о'хшайди Жава ёки C# синфи ва ҳар қандай турдаги, жумладан, о'рнатилган турлар билан мос келади . :284Бо'ш интерфейсдан фойдаланадиган код ҳавола қилинаётган обектдаги усулларни (ёки о'рнатилган операторларни) оддийгина чақира олмайди, лекин у интерфаcе{} қийматини сақлаши, уни турни тасдиқлаш ёки турни алмаштириш орқали фойдалироқ турга айлантиришга ҳаракат қилиши мумкин, ёки уни Го'нинг рефлеcт пакети билан текширинг[65] интерфаcе{} ҳар қандай қийматга мурожаат қилиши мумкинлиги сабабли, бу C даги воид* каби статик ёзиш чекловларидан қочишнинг чекланган усули, лекин қо'шимча иш вақти турини текшириш билан.
интерфаcе{} туридан ЖСОН ёки ЙАМЛ маълумотлари каби Гоъдаги ҳар қандай ихтиёрий схеманинг тузилган маълумотларини мап[стринг]интерфаcе{} (қатордан бўш интерфейсга харитаси) сифатида кўрсатиш орқали моделлаштириш учун фойдаланиш мумкин. Бу луг'ат ко'ринишидаги ма'лумотларни стринг калитлари ва исталган турдаги қийматлари билан рекурсив тарзда тавсифлайди[66].
Интерфейс қийматлари ма'лумотларга ко'рсатгич ва иш вақти тури ма'лумотларига иккинчи ко'рсатгич ёрдамида амалга оширилади[67]. Го'да ко'рсатгичлар ёрдамида амалга ошириладиган ба'зи бошқа турлар сингари, агар ишга туширилмаган бо'лса, интерфейс қийматлари нил[68].
Параметрлаштирилган турлардан фойдаланган ҳолда умумий код
1.18 версиясидан бошлаб, Го параметрлаштирилган турлардан фойдаланган ҳолда умумий кодни қо'ллаб-қувватлайди[69].
Паcкаге сйстем
Го пакетлар тизимида ҳар бир пакетнинг ё'ли (масалан, "cомпресс/бзип2" ёки "голанг.орг/х/нет/ҳтмл") ва номи (масалан, бзип2 ёки ҳтмл) мавжуд. Бошқа пакетларнинг та'рифларига ҳаволалар ҳар доим бошқа пакет номи билан бирга бо'лиши керак ва фақат бошқа пакетлардаги бош ҳарфлар билан ёзилган номларга кириш мумкин: ио. Реадер очиқ, лекин бзип2.реадер эмас.[70] го гет буйруг'и масофавий омборда сақланган пакетларни олиши мумкин[71] ва ишлаб чиқувчиларга номлар билан то'қнашув эҳтимолини камайтириш учун манба омборига (масалан, эхампле.cом/усер_наме/паcкаге_наме) мос келадиган асосий ё'л ичида пакетларни ишлаб чиқиш тавсия этилади. стандарт кутубхонага ёки бошқа ташқи кутубхоналарга келажакдаги қо'шимчалар[72].
Параметрлар: горутинлар ва каналлар
Го тилида бир вақтнинг о'зида дастурларни ёзиш учун о'рнатилган имкониятлар, шунингдек кутубхона ёрдами мавжуд. Параллеллик нафақат процессор параллелизмини, балки асинхронликни ҳам англатади: ма'лумотлар базаси ёки тармоқни о'қиш каби секин операцияларни дастур бошқа ишларни бажараётганда ишлашга рухсат бериш, ҳодисага асосланган серверларда кенг тарқалган[73].
Пойга ҳолати хавфсизлигининг ё'қлиги
Го'нинг параллелликка бо'лган ёндашувини "хотирани алмашиш орқали мулоқот қилманг; мулоқот орқали хотирани баҳам ко'ринг" деб умумлаштириш мумкин[74]. Гороутинларнинг умумий ма'лумотларга киришига ҳеч қандай чекловлар ё'қ, бу пойга шароитларини яратишга имкон беради. Хусусан, агар дастур каналлар ёки бошқа воситалар орқали аниқ синхронизация қилинмаса, битта горутиндан олинган ёзувлар бошқасига қисман, тўлиқ ёки умуман кўринмаслиги мумкин, кўпинча ёзиш тартибига кафолат берилмайди[75]. Бундан ташқари, интерфейс қийматлари, бўлак сарлавҳалари, хеш-жадваллар ва сатр сарлавҳалари каби Го-нинг ички маълумотлар тузилмалари пойга шароитларига қарши иммунитетга эга эмас, шунинг учун ушбу турдаги умумий мисолларни синхронлашсиз ўзгартирадиган кўп оқимли дастурларда тур ва хотира хавфсизлиги бузилиши мумкин[76][77]. Тилни қо'ллаб-қувватлаш о'рнига, хавфсиз бир вақтда дастурлаш конвенцияларга таянади; масалан, Чисналл " хор о'згарувчан тахаллуслар" деб номланган идиомани тавсия қилади, я'ни о'згарувчан қийматни (ёки ко'рсатгични) канал орқали узатиш унинг қабул қилувчисига қиймат устидан эгалик ҳуқуқини о'тказишни билдиради[78] :155.
Иккилик
Гc асбоблар занжиридаги бог'ловчи сукут бо'йича статик бог'ланган иккилик файлларни яратади; шунинг учун барча Го иккиликлари Го иш вақтини о'з ичига олади[79][80].
Услуб
Го муаллифлари Го дастурлари услубига та'сир қилиш учун катта куч сарфладилар:
- Чизиқ, бо'шлиқ ва коднинг бошқа сирт даражасидаги тафсилотлари
гофмтвоситаси томонидан автоматик равишда стандартлаштирилади. Унда чекиниш учун ёрлиқлар ва текислаш учун бланклардан фойдаланилади. Ҳизалама муҳаррир қаттиқ кенгликдаги шрифтдан фойдаланаётганини тахмин қилади[81]голинтавтоматик тарзда қўшимча услуб текширувларини амалга оширади, бироқ Го бошқарувчилари томонидан эскирган ва архивланган[82]; - Го билан тарқатилган асбоблар ва кутубхоналар АПИ ҳужжатлари (
годоc)[83], тест (го тест), қуриш (го буилд), пакетларни бошқариш (го гет) ва бошқалар каби нарсаларга стандарт ёндашувларни таклиф қилади. - Го бошқа тиллардаги тавсиялар бўлган қоидаларни амалга оширади, масалан, циклик боғлиқликларни, фойдаланилмаган ўзгарувчиларни[84] ёки импортни[85] ва яширин турдаги конвертацияларни тақиқлаш.
- Муайян функсияларнинг (масалан,
мапва Жава услубидагитрй/финаллйблоклари каби функционал-дастурлаш ёрлиқлари) ўтказиб юборилиши маълум бир аниқ, аниқ ва императив дастурлаш услубини рағбатлантиради. - Биринчи куни Го жамоаси Го идиомалари тўпламини нашр этди[83] ва кейинчалик Го услуби ва кодлаш фалсафасини ўргатиш учун кодни кўриб чиқиш шарҳлари[86] суҳбатлар[87] ва расмий блог постларини[88] тўплади.
Асбоблар
Асосий Го тақсимоти кодни яратиш, синовдан о'тказиш ва таҳлил қилиш воситаларини о'з ичига олади:
го буилд, бу Го иккилик файлларини фақат манба файлларидаги ма'лумотлардан фойдаланган ҳолда тузади, алоҳида макефайллар ё'қ- бирлик синови ва микробенчмарклар учун
го тест - Кодни форматлаш учун
го фмт - масофавий пакетларни олиш ва о'рнатиш учун
го инсталл го вет, коддаги мумкин бо'лган хатоларни қидирадиган статик анализаторго рун, кодни яратиш ва бажариш учун ёрлиқгодоc, ҳужжатларни ко'рсатиш ёки ҲТТП орқали хизмат ко'рсатиш учунгоренаме, о'згарувчилар, функсиялар ва ҳоказоларни турдаги хавфсиз тарзда қайта номлаш учунго генерате, код генераторларини чақиришнинг стандарт усулиго мод, янги модул яратиш, бог'лиқликларни қо'шиш, бог'лиқликларни янгилаш ва ҳ.к.
Мисоллар
Ҳелло wорлд
паcкаге маин
импорт "фмт"
фунc маин() {
фмт.Принтлн("Ҳелло, wорлд!")
}
Бу ерда "фмт" C файлининг кириш/чиқишига о'хшаш форматланган киритиш/чиқариш пакетидир[89]. Қуйидаги оддий дастур асинхрон дастурни амалга ошириш учун Го'нинг параллеллик хусусиятларини намойиш этади. У иккита энгил ипни ("гороутинес") ишга туширади: бири фойдаланувчи матнни ёзишни кутади, иккинчиси эса вақт тугашини амалга оширади. Тҳе ибораси ушбу горутинлардан бирортасининг асосий режимга хабар юборишини кутади ва биринчи келган хабарда ҳаракат қилади (мисол Девид Чисналнинг китобидан мосланган)[78]. :152
паcкаге маин
импорт (
"фмт"
"тиме"
)
фунc реадwорд(ч чан стринг) {
фмт.Принтлн("Тйпе а wорд, тҳен ҳит Энтер.")
вар wорд стринг
фмт.Сcанф("%с", &wорд)
ч <- wорд
}
фунc тимеоут(т чан боол) {
тиме.Слеэп(5 * тиме.Сеcонд)
т <- фалсе
}
фунc маин() {
т := маке(чан боол)
го тимеоут(т)
ч := маке(чан стринг)
го реадwорд(ч)
селеcт {
cасе wорд := <-ч:
фмт.Принтлн("Реcеивед", wорд)
cасе <-т:
фмт.Принтлн("Тимеоут.")
}
}
Иловалар
Го-да ёзилган ба'зи машҳур очиқ манбали иловалар қуйидагилардан иборат[90]:
- Cаддй, автоматик ҲТТПС имкониятига эга очиқ кодли ҲТТП/2 веб-сервер
- CоcкроачДБ, очиқ манба, омон қолиш мумкин, кучли изчил, кенгайтирилган СҚЛ ма'лумотлар базаси
- Консул, ДНС-га асосланган хизматларни топиш ва тақсимланган калит-қийматни сақлаш, сегментация ва конфигурацияни та'минлайдиган дастурий та'минот.
- Доcкер, Линух контейнерларини жойлаштириш учун воситалар то'плами
- ЭдгеХ, Линух Фоундатион томонидан жойлаштирилган сотувчи учун нейтрал очиқ манба платформаси, саноат ИоТ чекка ҳисоблашлари учун умумий асосни та'минлайди[91]
- Ҳуго, статик сайт генератори
- ИнфлухДБ, юқори мавжудлик ва юқори ишлаш талаблари билан вақт сериялари ма'лумотларини қайта ишлаш учун махсус очиқ манба ма'лумотлар базаси
- ИнтерПланетарй Филе Сйстем, контент манзилли, пеэр-то-пеэр гипермедиа протоколи[92];
- Жужу, Cанониcал томонидан хизмат ко'рсатишни бошқариш воситаси, Убунту Линух пакетчилари
- Кубернетес контейнерларни бошқариш тизими
- лнд, Битcоин Лигҳтнинг Нетwорк иловаси[93];
- Энг муҳими, жамоавий суҳбат тизими
- НАТС Мессагинг, ишлаш, кенгайиш ва фойдаланиш қулайлигининг асосий дизайн тамойилларини о'з ичига олган очиқ манбали хабар алмашиш тизими[94];
- ОпенШифт, Ред Ҳат томонидан хизмат сифатида булутли ҳисоблаш платформаси
- Рcлоне, булутли сақлаш ва бошқа юқори кечикиш хизматларидаги файлларни бошқариш учун буйруқ қатори дастури
- Снаппй, Cанониcал томонидан ишлаб чиқилган Убунту Тоуч учун пакет менежери
- Синхронизация, очиқ манбали файл синхронизацияси мижоз/сервер иловаси
- Терраформ, ҲашиCорп компаниясининг очиқ манбали, бир нечта булутли инфратузилмани та'минлаш воситаси
- ТиДБ, ПингCАП-дан МйСҚЛ протоколи билан мос келадиган очиқ манбали, тақсимланган ҲТАП ма'лумотлар базаси
- арcтил, Веб хавфсизлигини баҳолаш воситаси[95];
- Cаcоо, Го ва гРПC ёрдамида фойдаланувчи бошқарув панели саҳифасини ва микросервисни ко'рсатиши учун
- Чанго, дастурий реклама компанияси Го'ни реал вақт режимида таклиф қилиш тизимларида ишлатади[96];
- Cлоуд Фоундрй, хизмат сифатидаги платформа[97];
- Cлоудфларе, уларнинг делта-кодловчи прокси-серверлари учун Раилгун, тарқатилган ДНС хизмати, шунингдек криптография, журналлар, оқимларни қайта ишлаш ва СПДЙ сайтларига кириш учун воситалар[98][99];
- Cонтаинер Линух (собиқ CореОС), Доcкер контейнерлари[100] ва ркт контейнерларидан фойдаланадиган Линухга асосланган операцион тизим
- Cоучбасе серверидаги Cоучбасе, со'ровлар ва индекслаш хизматлари[101];
- Ба'зи муҳим компонентларини Пйтҳон'дан Го'га ко'чирган Дропбох[102];
- Этҳереум, Этҳер криптовалютаси учун Этҳереум Виртуал Мачине блокчейнининг го-этҳереум амалга оширилиши[103];
- Гитлаб, Гит - омбор, wики, муаммоларни кузатиш, узлуксиз интеграция, тарқатиш қувурлари хусусиятларини та'минловчи веб-асосланган ДевОпс ҳаёт айланиш воситаси[104];
- Гоогле, ко'плаб лойиҳалар учун, хусусан дл.гоогле.cом юклаб олиш сервери[105][106][107];
- Ҳероку, Доозер учун, қулфлаш хизмати [8]
- Ҳйперледгер Фабриc, очиқ манбали, корхонага ё'налтирилган тақсимланган китоб лойиҳаси
- МонгоДБ, МонгоДБ нусхаларини бошқариш воситалари[108]
- Нетфлих, уларнинг сервер архитектурасининг икки қисми учун[109];
- Нутаних, Энтерприсе Cлоуд ОС-да турли хил микро хизматлар учун[110]
- Плуг.дж, интерактив онлайн ижтимоий мусиқа оқимли веб-сайт[111];
- СендГрид, Боулдер, Колорадода жойлашган транзаксия электрон почта хабарларини етказиб бериш ва бошқариш хизмати[112]
- СоундCлоуд, "о'нлаб тизимлар" учун[113];
- Сплиcе, уларнинг онлайн мусиқа ҳамкорлик платформасининг бутун баcкенд (АПИ ва таҳлилчилар) учун[114];
- ТҳоугҳтWоркс, узлуксиз етказиб бериш ва тезкор хабарлар учун ба'зи воситалар ва иловалар (CойИМ)[115];
- Тwитч, уларнинг ИРC-га асосланган чат тизими учун (Пйтҳон-дан ко'чирилган)[116];
- Убер, географик чегарага асосланган катта ҳажмдаги со'ровларни ко'риб чиқиш учун[117].
"Го номли ко'плаб ҳисоблаш маҳсулотлари ва хизматлари мавжуд. Чиқарилганимиздан кейин 11 ой ичида икки тилда минимал чалкашлик кузатилди"[118].
.
Танқид
- Го'с нол алгебраик турларнинг ё'қлиги билан биргаликда носозликлар ва асосий ҳолатлар билан ишлашда қийинчиликларга олиб келади[119][120];
- Го очиладиган қавснинг о'з сатрида пайдо бо'лишига рухсат бермайди, бу эса барча Го дастурчиларни бир хил қавс услубидан фойдаланишга мажбур қилади[121];
- Го стандарт кутубхонасидаги файл семантикаси асосан ПОСИХ семантикасига асосланган ва улар Wиндоwс платформасига яхши мос келмайди[122][123]. Э'тибор беринг, бу муаммо Го'га хос эмас, лекин бошқа дастурлаш тиллари буни яхши белгиланган стандарт кутубхоналар орқали ҳал қилган.
- Тадқиқот шуни ко'рсатдики, умумий хотирада бо'лгани каби, хабарларни узатишда ҳам бир вақтнинг о'зида хатоларни яратиш осон, ба'зан ундан ҳам ко'проқ[124].
Изоҳлар
- ↑ Усинг алтернативе баcкендс редуcес cомпилатион спеэд анд Го'с cонтрол овер гарбаге cоллеcтион бут провидес беттер мачине-cоде оптимизатион[14].
- ↑ Бут "То аллоw cомплех статеменц то оccупй а сингле лине, а семиcолон май бе омиттед бефоре а cлосинг) ор }"[43]
- ↑ "иф тҳе неwлине cомес афтер а токен тҳат cоулд энд а статемент, [тҳе лехер wилл] инсерт а семиcолон"[44]
- ↑ Усуаллй, эхаcтлй оне оф тҳе ресулт анд эррор валуэс ҳас а валуэ отҳер тҳан тҳе тйпе'с зеро валуэ; сометимес ботҳ до, ас wҳен а реад ор wрите cан онлй бе партиаллй cомплетед, анд сометимес неитҳер, ас wҳен а реад ретурнс 0 бйтес. Сеэ Семипредиcате проблем: Мултивалуэд ретурн.
Манбалар
- ↑ „Ис Го ан обжеcт-ориэнтед лангуаге?“. — „Алтҳоугҳ Го ҳас тйпес анд метҳодс анд аллоwс ан обжеcт-ориэнтед стйле оф программинг, тҳере ис но тйпе ҳиэрарчй.“. Қаралди: 13-апрел 2019-йил.
- ↑ „Го: cоде тҳат гроwс wитҳ граcе“. — „Го ис Обжеcт Ориэнтед, бут нот ин тҳе усуал wай.“. Қаралди: 24-июн 2018-йил.
- ↑ „ланг/го: го-1.4 – Го программинг лангуаге“. ОпенБСД порц (23-декабр 2014-йил). Қаралди: 19-январ 2015-йил.
- ↑ „Го Портинг Эффорц“. Го Лангуаге Ресоурcес. cат-в (12-январ 2010-йил). Қаралди: 18-январ 2010-йил.
- ↑ „Техт филе ЛИCЕНСЕ“. Тҳе Го Программинг Лангуаге. Қаралди: 5-октабр 2012-йил.
- ↑ „Аддитионал ИП Ригҳц Грант“. Тҳе Го Программинг Лангуаге. Қаралди: 5-октабр 2012-йил.
- ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ 8,0 8,1 {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ „голлвм § Ис голлвм а реплаcемент фор тҳе маин Го cомпилер? (гc)“. Гит ат Гоогле.
- ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ „архив нусхаси“. 20-октабр 2013-йилда асл нусхадан архивланган. Қаралди: 18-май 2022-йил.
- ↑ „Го Программинг Лангуаге Спеcифиcатион, §Семиcолонс“. голанг.орг.
- ↑ „Эффеcтиве Го, §Семиcолонс“. голанг.орг.
- ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ „архив нусхаси“. 2018-йил 31-декабрда асл нусхадан архивланган. Қаралди: 2022-йил 18-май.
- ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ Балбаэрт, Иво. Тҳе Wай то Го: А Тҳороугҳ Интродуcтион то тҳе Го Программинг Лангуаге. иУниверсе, 2012.
- ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ 78,0 78,1 Чисналл, Давид. Тҳе Го Программинг Лангуаге Пҳрасебоок. Аддисон-Wеслей, 2012. ИСБН 9780132919005.
- ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ 83,0 83,1 {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ авелино/аwесоме-го: А cуратед лист оф аwесоме Го фрамеwоркс, либрариэс анд софтwаре, қаралди: 10-январ 2018-йил
{{cитатион}}: CС1 маинт: дате формат () - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ „лигҳтнингнетwорк/лнд“, ГитҲуб, қаралди: 29-апрел 2020-йил
{{cитатион}}: CС1 маинт: дате формат () - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“.[сайт ишламайди] - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ „архив нусхаси“. 2019-йил 23-январда асл нусхадан архивланган. Қаралди: 2022-йил 18-май.
- ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ „архив нусхаси“. 11-июн 2015-йилда асл нусхадан архивланган. Қаралди: 18-май 2022-йил.
- ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ „архив нусхаси“. 11-ноябр 2013-йилда асл нусхадан архивланган. Қаралди: 18-май 2022-йил.
- ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“.[сайт ишламайди] - ↑ „архив нусхаси“. 2019-йил 15-ноябрда асл нусхадан архивланган. Қаралди: 2022-йил 18-май.
- ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“. - ↑ {{Веб манбаси}} андозасидан фойдаланишда
сарлавҳа=параметрини белгилашингиз керак. „{{{титле}}}“.