Алгоритмсозӣ ва барномасозӣ дар забони 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 | Разветвляющийся |
Сарчашмаҳои муфид барои омӯзиши бештар
- Сомонаи расмии забони Go:
- Омӯзиши интерактивии расмӣ (Go Tour):
- Мисолҳои амалии сареъ (Go by Example):
- Майдони таҷриба дар браузер (Go Playground):
- Китобхонаи стандартии Go ва ҳуҷҷатҳо:
Хулоса
Ин замима ҳамаи маълумоти асосиеро, ки дар китоб истифода шудааст, дар як ҷо ҷамъ мекунад: 25 калимаи калидӣ, функсияҳои дарунсохт, бастаҳои муҳими китобхонаи стандартӣ, фармонҳои сатри фармон ва луғати сезабонаи истилоҳот. Онро ҳангоми навиштани барномаҳо ҳамчун маълумотномаи зуд истифода баред.
Бо ҳамин китоб ба охир мерасад, аммо роҳи шумо дар барномасозӣ тоза оғоз мешавад. Сарчашмаҳои дар боло овардашударо истифода баред, масъалаҳои боби 13-ро такмил диҳед ва лоиҳаҳои боби 12-ро ба барномаҳои воқеии худ табдил диҳед. Барори кор!

Барномасозӣ
Олами Афсонаҳо
Ахбор
Саломатӣ
Дунё