
Go Veri Yapıları
Arrays, slices, maps, structs, pointers, make vs new, nil değerleri
1Go'da slice nedir?
Go'da slice nedir?
Cevap
Slice, alttaki bir array üzerinde değişken uzunluktaki eleman dizilerinin işlenmesine olanak tanıyan dinamik bir görünümdür. Derleme zamanında belirlenen sabit boyuta sahip array'lerin aksine, slice'lar append gibi işlemlerle dinamik olarak büyüyebilir veya küçülebilir. Bu esneklik, onları homojen eleman koleksiyonlarını saklamak için Go'da en yaygın kullanılan sıralı veri yapısı haline getirir.
2Go'da array ile slice arasındaki temel fark nedir?
Go'da array ile slice arasındaki temel fark nedir?
Cevap
Temel fark boyuttadır: array, derleme zamanında belirlenen sabit bir boyuta sahiptir ve türün kendisinin bir parçasıdır; slice ise çalışma zamanında değişebilen dinamik bir boyuta sahiptir. Bu ayrım, farklı boyutlardaki iki array'in uyumsuz türler sayılması, buna karşın aynı eleman türündeki tüm slice'ların uyumlu olması anlamına gelir. Bu nedenle slice'lar daha esnektir ve modern Go kodunda daha yaygın kullanılır.
3Go'da boş bir slice nasıl oluşturulur?
Go'da boş bir slice nasıl oluşturulur?
Cevap
Boş köşeli parantezlerin ardından boş süslü parantezlerle yazılan değişmez (literal) söz dizimi, başlatılmış boş bir slice oluşturmanın deyimsel yoludur. Bu yaklaşım uzunluğu 0 ama nil olmayan, append ile eleman almaya hazır bir slice oluşturur. Nil bir slice veren basit bir bildirimin aksine, bu açık başlatma, eleman eklerken beklenmedik davranış riski olmadan hemen kullanılabilir bir slice garanti eder.
Belirli bir kapasiteyle bir slice'ı başlatmak için hangi fonksiyon kullanılmalıdır?
Kapasitesi dolan bir slice'a eleman eklendiğinde ne olur?
+17 mülakat soruları
Diğer Go mülakat konuları
Go Temelleri
Go Arayüzleri
Hata Yönetimi
Goroutine Temelleri
Channels
Go Modules
HTTP Sunucusu
HTTP İstemcisi
JSON Kodlama
Database/SQL
context Paketi
Testing
Eşzamanlılık Desenleri
Senkronizasyon İlkelleri
Go Web Framework'leri
REST API Tasarımı
gRPC
Reflection
Bellek Yönetimi
Performans Optimizasyonu
Generics
Go Design Patterns
Microservices
Güvenlik ve Kimlik Doğrulama
Docker & Containerization
Kubernetes Basics
İleri Düzey Go
CLI Geliştirme
Bir sonraki mülakatın için Go'de uzmanlaş
Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.
Ücretsiz başla