Go
Go nədir?
Go 2009-cu ildə Google-da açıqlanıb. Kod qısa qalır, proqram isə bir fayl kimi yığılır və ayrıca quraşdırılmış dil mühiti olmadan işləyə bilir. Yaddaş yığımı var, sinif və irsiyyət isə yoxdur. Eyni anda çox iş görmək üçün goroutine və channel var.
Go nə üçün istifadə olunur?
Go şəbəkə və alət yazanda seçilir. Docker və Kubernetes-in böyük hissəsi Go ilə yazılıb.
- HTTP API və mikroservis
- Əmr sətri proqramı
- Fayl və şəbəkə aləti
- Bulud və konteyner layihəsi
Go ilə nə etmək olar?
Go ilə sürətli veb xidmət, arxa plan işi və bir maşından digərinə eyni cür daşınan alət yazılır. Standart kitabxanada HTTP server, JSON və test aləti var. C-dəki kimi əl ilə yaddaş azad etmək lazım deyil.
Go öyrənmək çətindirmi?
Sintaksis kiçikdir, ona görə ilk proqram tez alınır. Çətin yer generic-lər, xəta yoxlamasının təkrarı və pointer-dir. Java qədər çərçivə yoxdur: bir çox şeyi özün yazırsan və ya kiçik kitabxana seçirsən.
Üstünlükləri və məhdudiyyətləri
Üstünlük: bir fayllıq proqram, aydın xəta və güclü paralel iş. Məhdudiyyət: qısa masaüstü pəncərə kitabxanası zəifdir, GUI və mobil tətbiq üçün birinci seçim deyil. İfadə bəzən Java və ya Kotlin-dən uzun görünür, çünki xəta hər addımda yoxlanır.
Əsas anlayışlar
Go-da paket, funksiya və struct əsasdır. Xəta çox vaxt ayrıca qaytarılan dəyərdir, istisna zənciri deyil.
- go.mod asılılıqları saxlayır
- goroutine yüngül paralel işdir
- channel işlər arasında məlumat daşıyır
- gofmt kodu eyni görkəmə salır
Qısa nümunə
Bu proqram terminala bir sətir yazır. Faylın adı main.go olanda əmri go run main.go ilə işlətmək olar.
package main
import "fmt"
func main() {
fmt.Println("Hello")
}Tez-tez verilən suallar
- Go və Golang eyni dildir? Bəli. Rəsmi ad Go-dur, axtarışda Golang da işlənir.
- Go Java-nı əvəz edir? Hər yerdə yox. Şəbəkə xidmətində tez-tez, Android tətbiqində yox.
- Go öyrənmək üçün əvvəl C lazımdır? Xeyr. C yaddaşı əl ilə idarə edir, Go yox.