🐹 Go dasturlash tili
Google yaratgan Go tilida dasturlash - 20 bosqichli amaliy qo'llanma
Darslik haqida
Go (Golang) - Google da Rob Payk, Ken Tompson va Robert Grizemer yaratgan, soddaligi va tezligi uchun tanilgan til. Bugun Docker, Kubernetes va minglab server dasturlari aynan shu tilda yozilgan. Bu darslik Go ni noldan o'rgatadi: turlar va sliceslardan tortib struktura, interfeys, xatolar bilan ishlash, gorutinalar va kanallargacha. Har bir misol Go 1.24 da haqiqatan kompilyatsiya qilinib ishga tushirilgan va ko'rsatilgan chiqish - dasturning o'zi bergan natija. Kod misollaridagi o'zgaruvchi, tur va funksiya nomlari o'zbek tilida. Darslik yakunida to'liq konsol dasturini noldan yozasiz.
Darslik mundarijasi
- 1 Go bilan tanishuv Go ni kim va nima uchun yaratgan, nomi qayerdan kelgan, u qayerda ishlatiladi va birinchi dastur qanday tuzilgan. 10 daq.
- 2 Muhitni sozlash va birinchi loyiha Go ni o'rnatish, go run va go build farqi, modul yaratish, papka tuzilishi hamda gofmt va go vet vositalari. 12 daq.
- 3 O'zgaruvchilar va turlar var va qisqa e'lon, nol qiymatlar, son turlari va ularning chegaralari, turlar orasida o'tkazish, doimiylar va iota. 16 daq.
- 4 Satrlar, runalar va baytlar Satrning ichki tuzilishi, bayt va runa farqi, UTF-8, strings paketi, strings.Builder va strconv bilan o'tkazish. 13 daq.
- 5 Shartlar va switch if va uning boshlang'ich qismi, mantiqiy amallar, switch ning to'rt shakli, fallthrough va erta qaytish uslubi. 13 daq.
- 6 Sikllar for ning to'rt shakli, range bilan yurish, son bo'yicha sikl, break va continue, yorliqlar hamda ichma-ich sikllar. 15 daq.
- 7 Funksiyalar Ko'p qiymat qaytarish, nomlangan natijalar, o'zgaruvchan argumentlar, funksiya qiymat sifatida, yopilmalar va defer. 14 daq.
- 8 Ko'rsatkichlar & va * amallari, qiymat bo'yicha uzatish, funksiyada o'zgartirish, nil ko'rsatkich, new va Go da ko'rsatkich arifmetikas... 13 daq.
- 9 Massivlar va slicelar Qat'iy uzunlikdagi massivlar, slice ning ichki tuzilishi, append va cap, kesish, nusxalash hamda umumiy xotira tuzog'i. 14 daq.
- 10 Maplar Kalit-qiymat saqlash, comma-ok tekshiruvi, o'chirish, tartibning ataylab tasodifiyligi va uni saralab chiqarish usuli. 15 daq.
- 11 Strukturalar type bilan o'z turini yaratish, maydonlar, literal shakllari, ichma-ich va joylashtirilgan strukturalar, taqqoslash va s... 13 daq.
- 12 Metodlar Resiverli funksiyalar, qiymat va ko'rsatkich resiveri farqi, o'z turlaringizga metod qo'shish, String metodi va joylasht... 12 daq.
- 13 Interfeyslar Yashirin qanoatlantirish, kichik interfeyslar, tur tasdiqlash va tur bo'yicha switch, any turi hamda nil interfeys tuzog... 14 daq.
- 14 Xatolar bilan ishlash error interfeysi, errors.New va fmt.Errorf, xatoni o'rash, errors.Is va errors.As, nishon xatolar hamda o'z xato turlari... 12 daq.
- 15 Panic, recover va defer Vahima qachon yuz beradi, recover bilan uni ushlash, defer ning aniq tartibi, nomlangan natijani o'zgartirish va qachon... 12 daq.
- 16 Paketlar va modullar Paket nomlari, katta harf orqali ko'rinuvchanlik, import yo'llari va taxalluslar, go.mod va go.sum, internal papkasi ham... 11 daq.
- 17 Generiklar Tur parametrlari, cheklovlar, comparable va any, generik turlar, tur xulosasi hamda generiklar qachon kerak emasligi. 12 daq.
- 18 Gorutinalar go kalit so'zi, main tugashi muammosi, sync.WaitGroup bilan kutish, poyga holati, Mutex va -race bayrog'i. 14 daq.
- 19 Kanallar va select Kanal yaratish va yuborish, buferli va bufersiz farqi, yopish va range, select, kutish muddati, ishchilar hovuzi hamda b... 15 daq.
- 20 Amaliy loyiha - savdo tahlilchisi O'rganilgan hamma narsani birlashtirib, CSV o'qiydigan, xatolarni to'g'ri qayta ishlaydigan, parallel hisoblaydigan va h... 12 daq.