Senior
// Soru 4. Ekranda ne gösterilecek package main import "fmt" func subis(is []int) []int { return append(is, 5) } func main() { is := []int{1, 2, 3, 4} subis(is[2:3]) fmt.Println(is) }
sobes.tech yapay zeka
AI'dan gelen yanıt
Bu kodda, [1, 2, 3, 4] öğeleriyle is adlı bir dilim oluşturulur. Daha sonra, sadece 3 öğesini içeren is[2:3] dilimiyle subis fonksiyonu çağrılır.
subis fonksiyonu, geçirilen dilime 5 öğesini ekleyerek yeni bir dilim döndürür. Ancak, subis çağrısının sonucu hiçbir yere kaydedilmediği için, orijinal is dilimi değişmez.
Programın çıktısı şu olacaktır:
[1 2 3 4]
Açıklama:
- Go'daki dilimler, bir diziye işaretçi, uzunluk ve kapasite içeren yapılar olarak tanımlanır.
is[2:3]yeni bir dilim oluşturur, uzunluğu 1 olup, dizideki3öğesine işaret eder.append, boş kapasite varsa orijinal diziyi değiştirebilir, ancak sonuç atanmamışsa, değişiklikler kaydedilmez.- Orijinal
isdilimi değişmeden kalır.