Go bilan tanishuv
Go nima?
- Go — kross-platformali, ochiq kodli dasturlash tili
- Go yordamida yuqori unumdorlikka ega ilovalar yaratish mumkin
- Go — soddaligi va samaradorligi bilan tanilgan, tez ishlaydigan, statik tiplashtirilgan va kompilyatsiya qilinadigan til
- Go 2007-yilda Google’da Robert Griesemer, Rob Pike va Ken Thompson tomonidan ishlab chiqilgan
- Go sintaksisi C++ sintaksisiga o‘xshaydi
Go nima uchun ishlatiladi?
- Veb-dasturlash (server tomoni)
- Tarmoqqa asoslangan dasturlarni ishlab chiqish
- Kross-platformali korporativ ilovalarni ishlab chiqish
- Bulutga yo‘naltirilgan (cloud-native) dasturlash
Nega Go tilidan foydalanish kerak?
- Go qiziqarli va uni o‘rganish oson
- Go tez bajariladi va tez kompilyatsiya qilinadi
- Go bir vaqtda bajarishni (concurrency) qo‘llab-quvvatlaydi
- Go tilida xotirani boshqarish mexanizmi mavjud
- Go turli platformalarda ishlaydi (Windows, Mac, Linux, Raspberry Pi va h.k.)
Go tilini Python va C++ bilan taqqoslash
| Go | Python | C++ |
|---|---|---|
| Statik tiplashtirilgan | Dinamik tiplashtirilgan | Statik tiplashtirilgan |
| Tez bajariladi | Sekin bajariladi | Tez bajariladi |
| Kompilyatsiya qilinadi | Interpretatsiya qilinadi | Kompilyatsiya qilinadi |
| Tez kompilyatsiya qilinadi | Interpretatsiya qilinadi | Sekin kompilyatsiya qilinadi |
| Goroutine’lar va channel orqali bir vaqtda bajarishni (concurrency) qo‘llab-quvvatlaydi | Bir vaqtda bajarish (concurrency) uchun o‘rnatilgan mexanizm yo‘q | Oqimlar (threads) orqali bir vaqtda bajarishni qo‘llab-quvvatlaydi |
| Xotirani avtomatik tozalash (garbage collection) mavjud | Xotirani avtomatik tozalash (garbage collection) mavjud | Xotirani avtomatik tozalash (garbage collection) mavjud emas |
| Sinflar va obyektlarni qo‘llab-quvvatlamaydi | Sinflar va obyektlar mavjud | Sinflar va obyektlar mavjud |
| Vorislikni qo‘llab-quvvatlamaydi | Vorislikni qo‘llab-quvvatlaydi | Vorislikni qo‘llab-quvvatlaydi |
Eslatmalar:
- Kompilyatsiya vaqti deganda kodni bajariladigan dasturga o‘girish uchun ketadigan vaqt tushuniladi
- Concurrency (bir vaqtda bajarish) — yakuniy natijaga ta’sir qilmagan holda bir nechta ishni ixtiyoriy tartibda yoki bir vaqtning o‘zida bajarish
- Statik tiplashtirish o‘zgaruvchilar tiplari kompilyatsiya vaqtidayoq ma’lum bo‘lishini anglatadi
Ishni boshlash
Ushbu darslik sizga Go asoslarini o‘rgatadi.
Buning uchun oldindan dasturlash tajribasiga ega bo‘lish shart emas.
Boshlash »W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
