Golang üç noktalı parametreler nedir?

533388

Hectopat
Katılım
27 Mart 2022
Mesajlar
4.463
Makaleler
2
Çözümler
54
Örnek olarak myNums := [...]int{} bu koddaki üç noktanın görevi şu mu kullanıcının 0'dan fazla parametre atamasına olanak sağlıyor yani böyle anladım doğru mu?
 
"[...]int{1, 2, 3, 4}" ifadesi bir dizi oluşturur ve başlangıçta bu dizi sabit bir boyuta sahip olacaktır. Yani, bu diziye başlangıçta belirli bir boyut atanmış olur ve daha sonra bu boyutu değiştirmek mümkün değildir. Bu nedenle, bu diziye yeni elemanlar eklemek mümkün değildir.

"[]İnt{1, 2, 3, 4}" ifadesi ise bir dilim (slice) oluşturur. Bu dilim başlangıçta belirli bir boyuta sahip olabilir, ancak dilimlerin özelliği dinamik boyuta sahip olma yeteneğidir. Yani, bu dilime başlangıçta belirli elemanlar atanabilir, ancak programın işleyişi sırasında bu dilime yeni elemanlar eklenebilir veya mevcut elemanlar çıkarılabilir. Dolayısıyla, bu dilim dinamik olarak genişleyebilir veya daralabilir.
 
"[...]int{1, 2, 3, 4}" ifadesi bir dizi oluşturur ve başlangıçta bu dizi sabit bir boyuta sahip olacaktır. Yani, bu diziye başlangıçta belirli bir boyut atanmış olur ve daha sonra bu boyutu değiştirmek mümkün değildir. Bu nedenle, bu diziye yeni elemanlar eklemek mümkün değildir.

"[]İnt{1, 2, 3, 4}" ifadesi ise bir dilim (slice) oluşturur. Bu dilim başlangıçta belirli bir boyuta sahip olabilir, ancak dilimlerin özelliği dinamik boyuta sahip olma yeteneğidir. Yani, bu dilime başlangıçta belirli elemanlar atanabilir, ancak programın işleyişi sırasında bu dilime yeni elemanlar eklenebilir veya mevcut elemanlar çıkarılabilir. Dolayısıyla, bu dilim dinamik olarak genişleyebilir veya daralabilir.

Teşekkür ederim o zaman mesela append metodunu dilimde kullanabilirken ilk örnekte kullanmayın çünkü icindeki veri kadar sabit bir boyutu vardır.
 
Teşekkür ederim o zaman mesela append metodunu dilimde kullanabilirken ilk örnekte kullanmayın çünkü icindeki veri kadar sabit bir boyutu vardır.

Rica ederim, evet append metodunu ellipsis ile kullandığınızda aşağıdaki hataya benzer bir hata alacaksınız.

Kod:
first argument to append must be a slice; have a (variable of type [3]int)
 
Ek olarak cap ve len fonksiyonlarıyla işlemlerinizin kontrolünü sağlayabilirsiniz Runtime'da ancak en akıl kârı Slice'dan yürümek
 

Technopat Haberler

Yeni konular

Geri
Yukarı