Зеҳн
Алгоритмсозӣ ва барномасозӣ дар забони Go

Китоби таълимии забони Go барои мактабиён, донишҷӯён ва омӯзгорон: аз алгоритм ва блок-схемаҳо то веб-сервер ва боти Телеграм. Таҷдиди китоби А. П. Назаров «Алгоритмсозӣ ва барномасозӣ дар забони Бейсик» (2009).

Агенти Зеҳнӣ · 26 октябри 2026 · 15 саҳифа

МаорифБарномасозӣТехнология
Аз аввал хондан

Боби 14. Замима

Боби 14. Замима

Ин боб ҳамчун маълумотномаи доимӣ барои барномасоз хизмат мекунад. Дар он ҳамаи 25 калимаи калидии Go, функсияҳои дарунсохт, бастаҳои асосии китобхонаи стандартӣ ва луғати мукаммали сезабонаи истилоҳоти барномасозӣ (Тоҷикӣ — Англисӣ — Русӣ) гирд оварда шудаанд.

Дар ин боб меомӯзем

  • Ҳамаи 25 калимаи калидии Go ва вазифаи онҳо.
  • Функсияҳои дарунсохт (len, append, make, new, min, max ва ғ.).
  • Бастаҳои муҳими китобхонаи стандартӣ, ки дар китоб истифода шудаанд.
  • Фармонҳои асосии сатри фармони go.
  • Луғати сезабонаи истилоҳот (Тоҷикӣ — Англисӣ — Русӣ).

1. Ҳамаи 25 калимаи калидии забони Go

Забони Go ҳамагӣ 25 калимаи калидӣ (keywords) дорад. Ин калимаҳо аз ҷониби созандагони забон маҳфуз нигоҳ дошта шудаанд ва онҳоро ҳамчун номи тағйирёбанда ё функсия истифода бурдан мумкин нест:

Калимаи калидӣВазифа ва маъно дар забони тоҷикӣ
breakҚатъи фаврии кори давр, switch ё select
caseЯке аз ҳолатҳои интихоб дар дохили сохтори switch ё select
chanЭълони канал барои иртиботи байни горутинаҳо (concurrency)
constЭълони собит (қимате, ки тағйир намеёбад)
continueГузаштан ба қадами навбатии давр
defaultШохаи пешфарз дар switch ё select
deferБа таъхир гузоштани иҷрои функсия то лаҳзаи анҷоми функсияи ҷорӣ
elseШохаи «вагарна» дар сохтори шартии if
fallthroughИнтиқоли маҷбурии иҷро ба case-и навбатӣ дар switch
forЯгона оператори даврзанӣ дар Go
funcЭълони функсия ё метод
goДаъвати функсия дар горутинаи нав
gotoГузариш ба тамғаи муайян (истифодааш тавсия дода намешавад)
ifСанҷиши шарт («агар»)
importПайваст кардани бастаҳо ба барнома
interfaceЭълони маҷмӯи методҳо (интерфейс)
mapНавъи додаи «калид — қимат» (харита / луғат)
packageЭълони номи бастае, ки файл ба он тааллуқ дорад
rangeГузариш аз рӯи массив, буриш, сатр, харита ё канал; такрор аз рӯи адади бутун (Go 1.22+)
returnБаргардонидани натиҷа аз функсия ва анҷоми он
selectИнтихоби амалиёти омодаи каналӣ дар барномасозии ҳамзамон
structЭълони сохтори нави додаҳо
switchСохтори интихоби бисёршоха
typeЭълони навъи нави додаҳо
varЭълони тағйирёбанда

2. Функсияҳои дарунсохти Go

Ин функсияҳо ҳамеша бе ниёз ба ягон import дастрасанд:

  • len(v) — шумораи унсурҳои массив, буриш ё харита, байтҳои сатр ё унсурҳои навбати каналро бармегардонад.
  • cap(v) — ғунҷоиши буриш ё канал, ё дарозии массивро бармегардонад.
  • make(T, args...) — буриш, харита ё канали навро дар хотира месозад ва омода мекунад.
  • append(slice, elems...) — унсурҳоро ба охири буриш илова карда, буриши натиҷавиро бармегардонад.
  • copy(dst, src) — унсурҳоро аз як буриш ба буриши дигар нусхабардорӣ мекунад.
  • delete(m, key) — ҷуфти додашударо аз харита (map) нест мекунад.
  • new(T) — барои қимати навъи T хотира ҷудо карда, нишондиҳандаи *T-ро ба он бармегардонад.
  • close(ch) — каналро мепӯшад (пас аз ин ба он навиштан мумкин нест).
  • clear(v) — ҳамаи унсурҳои харитаро нест мекунад ё унсурҳои буришро ба қимати сифрӣ мегардонад (Go 1.21+).
  • min(x, y, ...) ва max(x, y, ...) — хурдтарин ва калонтарини ададҳо ё сатрҳоро бармегардонанд (Go 1.21+).
  • panic(v) — иҷрои муқаррарии горутинаи ҷориро қатъ карда, функсияҳои ба таъхиргузошташударо иҷро мекунад; агар panic боздошта нашавад, барнома қатъ мешавад.
  • recover() — ҳангоми даъвати мустақим аз функсияи бо defer ба таъхиргузошташуда метавонад panic-и ҳамон горутинаро боздорад. Иҷро аз сатри рух додани panic идома намеёбад.
  • complex, real, imag — кор бо ададҳои комплексӣ; print, println — чопи соддаи ёрирасон (дар барномаҳои оддӣ fmt-ро истифода баред).

3. Бастаҳои муҳими китобхонаи стандартӣ

БастаВазифаи асосӣ
fmtВоридот ва содироти маълумот (Scan, Println, Printf)
mathФунксияҳои риёзӣ (Sqrt, Pow, Sin, Cos, Abs, Min, Max) ва собитҳо (Pi)
stringsКор бо сатрҳо (Contains, Split, Join, ReplaceAll, ToLower)
strconvТабдилдиҳии адад ба матн ва баръакс (Itoa, Atoi, ParseFloat)
unicode/utf8Ҳисоб ва коркарди рамзҳои Юникод (RuneCountInString)
image, image/color, image/draw, image/pngСохтану коркарди тасвирҳо ва сабти онҳо дар формати PNG
osКор бо файлҳо ва системаи амалиётӣ (Create, Open, ReadFile, Args)
timeКор бо вақт, сана ва чен кардани давомнокии иҷро
sort ё slicesМураттабсозӣ ва ҷустуҷӯ дар буришҳо (slices.Sort, slices.Contains, slices.BinarySearch)
mapsАмалҳо бо харитаҳо, масалан maps.Clone (Go 1.21+) ва maps.Keys (Go 1.23+)
errorsСохтан ва санҷиши хатогиҳо (errors.New, errors.Is, errors.As)
logЧопи паёмҳо бо вақт ва қатъи барнома (log.Println, log.Fatal)
net/httpВеб-сервер ва муштарии HTTP (http.NewServeMux, ListenAndServe, http.Client)
encoding/jsonТабдили сохторҳо ба JSON ва баръакс (Marshal, NewEncoder, NewDecoder)
syncҲамоҳангсозии горутинаҳо (sync.WaitGroup, sync.Mutex)

4. Фармонҳои муҳими сатри фармони Go

  • go version — версияи насбшудаи Go-ро нишон медиҳад (барои ин китоб Go 1.22 ё навтар лозим аст).
  • go run main.go — кодро ба файли муваққатӣ компилятсия карда, фавран иҷро мекунад.
  • go build — файли мустақили иҷрошаванда (.exe дар Windows ё файли бинарӣ дар Linux/macOS) месозад.
  • go fmt ./... — ҳамаи файлҳои лоиҳаро ба таври худкор мувофиқи стандарти gofmt формат мекунад (go fmt бе ./... — танҳо бастаи ҷузвдони ҷорӣ).
  • go vet ./... — кодро барои хатогиҳои эҳтимолӣ (масалан, қолаби нодурусти Printf) месанҷад.
  • go mod init — модули нави Go-ро дар ҷузвдон эҷод менамояд.
  • go get — бастаи берунаро ба модул илова мекунад; go mod tidy — вобастагиҳои нолозимро тоза ва лозимаро илова мекунад.
  • go test ./... — санҷишҳои худкори навишташударо иҷро мекунад.
  • go doc — ҳуҷҷатҳои расмии баста ё функсияро дар терминал нишон медиҳад (масалан, go doc strings.Split).
  • go env — танзимоти муҳити Go-ро (масалан, GOPATH, GOOS) нишон медиҳад.

5. Луғати истилоҳоти соҳавӣ (Тоҷикӣ — Англисӣ — Русӣ)

ТоҷикӣАнглисӣ (English)Русӣ (Русский)
АлгоритмAlgorithmАлгоритм
Ба кор андохтан (иҷро)Execution / RunВыполнение / Запуск
БақияRemainder / ModuloОстаток от деления
БарномаProgram / ApplicationПрограмма / Приложение
БарномасозProgrammer / DeveloperПрограммист / Разработчик
БастаPackageПакет
БуришSliceСрез
Веб-серверWeb serverВеб-сервер
ВоридотInputВвод
ГорутинаGoroutineГорутина (легковесный поток)
ДаврLoopЦикл
Дархост / ҶавобRequest / ResponseЗапрос / Ответ
Забони барномасозӣProgramming languageЯзык программирования
Ибтидо / АнҷомStart / EndНачало / Конец
Иҷрои ҳамзамонConcurrencyКонкурентность
Калид (дар харита)KeyКлюч
Калимаи калидӣKeywordКлючевое слово
КаналChannelКанал
КодCodeКод
КомпиляторCompilerКомпилятор
КоркардкунандаHandlerОбработчик
Қабулкунанда (дар метод)ReceiverПолучатель (ресивер)
Қимати сифрӣZero valueНулевое значение
МасирRouteМаршрут
МассивArrayМассив
МатритсаMatrixМатрица
МетодMethodМетод
МураттабсозӣSortingСортировка
Навъи додаData typeТип данных
НатиҷанокӣEffectivenessРезультативность
НишондиҳандаPointerУказатель
ОхирнокӣFinitenessКонечность
Пайвастсозии сатрҳоConcatenationКонкатенация
ПайдарпайӣSequenceПоследовательность
ПикселPixelПиксель
Рамз (дар Юникод)Rune / CharacterСимвол (руна)
СатрStringСтрока
СобитConstantКонстанта
СодиротOutputВывод
СохторStructСтруктура
ТабдилдиҳӣConversion / CastingПреобразование типов
ТағйирёбандаVariableПеременная
Тағйирёбандаи муҳитEnvironment variableПеременная окружения
ФунксияFunctionФункция
Харита (луғат)MapКарта (map, словарь, хеш-таблица)
ХатогӣError / BugОшибка
ҲамворӣPlaneПлоскость
Ҷустуҷӯи дуӣBinary searchДвоичный (бинарный) поиск
ШартConditionУсловие
ШоханокBranchingРазветвляющийся

Сарчашмаҳои муфид барои омӯзиши бештар

  1. Сомонаи расмии забони Go:
  2. Омӯзиши интерактивии расмӣ (Go Tour):
  3. Мисолҳои амалии сареъ (Go by Example):
  4. Майдони таҷриба дар браузер (Go Playground):
  5. Китобхонаи стандартии Go ва ҳуҷҷатҳо:

Хулоса

Ин замима ҳамаи маълумоти асосиеро, ки дар китоб истифода шудааст, дар як ҷо ҷамъ мекунад: 25 калимаи калидӣ, функсияҳои дарунсохт, бастаҳои муҳими китобхонаи стандартӣ, фармонҳои сатри фармон ва луғати сезабонаи истилоҳот. Онро ҳангоми навиштани барномаҳо ҳамчун маълумотномаи зуд истифода баред.

Бо ҳамин китоб ба охир мерасад, аммо роҳи шумо дар барномасозӣ тоза оғоз мешавад. Сарчашмаҳои дар боло овардашударо истифода баред, масъалаҳои боби 13-ро такмил диҳед ва лоиҳаҳои боби 12-ро ба барномаҳои воқеии худ табдил диҳед. Барори кор!

пешина
аз 15