Hala neden new
Go'da olduğumuz konusunda şaşkınlığım var
Bir yapıyı başlatmak istediğinizde,
t := Thing{}
ve yaparak yeni bir örneğe işaretçi alabilirsiniz.
t := &Thing{}
Ancak bu olasılık da var:
t := new(Thing)
Bu sonuncusu, dilin geri kalanına biraz yabancı gibi görünüyor. &Thing{}
olduğu kadar net ve özlüdür new(Thing)
ve yalnızca başka yerlerde sık kullandığınız yapıları kullanır. Ayrıca bunu değişebileceği gibi daha genişletilebilir var &Thing{3}
ya &Thing{Feets:7}
.
Bence, ek bir anahtar kelime 1'e sahip olmak pahalıya mal oluyor, dili daha karmaşık hale getiriyor ve bilmeniz gerekenleri ekliyor. Ve yeni gelenlere bir yapıyı somutlaştırmanın ardında ne olduğunu gizleyebilir.
Aynı zamanda bir daha ayrılmış kelime yapar.
Peki arkasındaki sebep new
nedir? Bazen işe yarar mı? Kullanmalı mıyız?
1 : Evet, dilbilgisi düzeyinde bir anahtar kelime olmadığını biliyorum , gölgeyi gölgeleyebilirsiniz , ancak bu makul geliştirici için ayrılmış bir kelime olduğu gerçeğini değiştirmez.