Golang'da Yapı Alanları İçin Varsayılan Değerler Nasıl Atanır?

Golang Da Yapi Alanlari Icin Varsayilan Degerler Nasil Atanir



Golang, son yıllarda popülerlik kazanan modern bir programlama dilidir. Golang'ın güçlü özelliklerinden biri, yapıları tanımlama ve manipüle etme yeteneğidir. yapılar geliştiricilerin ilgili veri alanlarını tek bir nesnede gruplandırmasına izin veren kullanıcı tanımlı veri türleridir. Go'da, yapılar sahip olabilmek varsayılan değerler alanlarına atanır, bu da onları başlatmayı çok daha kolaylaştırır.

Bu yazıda, nasıl atanacağını keşfedeceğiz. varsayılan değer Golang'daki bir yapı alanı için.

Yapı Alanları nedir?

İlk olarak, kavram kavramını anlamak önemlidir. yapı alanları . bu yapı alanları oluşturmak üzere gruplandırılmış değişkenlerdir. yapı nesne. Her biri yapı alanı bir adı ve bir veri türü vardır. Örneğin, bir kişiyi temsil eden bir yapı, ad, yaş ve cinsiyet gibi alanlara sahip olabilir.







Golang'da Yapı Alanları İçin Varsayılan Değerler Nasıl Atanır?

Varsayılan değerler Go'daki yapı alanları için aşağıdakiler kullanılarak atanabilir:



  • Varsayılan Sıfır Değerleri
  • İnşaatçılar
  • Yapı Değişmezleri
  • Varsayılan Alan Değerleri

1: Varsayılan Sıfır Değerleri

Go'da, yapı alanlarına varsayılan değerler atamak ' ile elde edilebilir. sıfır değer ' özellik. Bu özellik otomatik olarak varsayılan bir değer atar: 0 ' veya ' YANLIŞ veri türüne bağlı olarak başlatılmamış her alana ”. Bu, yapıdaki her alan için açıkça varsayılan değerler belirlemeniz gerekmediği anlamına gelir, Go bunu sizin yerinize yapacaktır.



Bu özellik, her alan için manuel olarak varsayılan değerleri ayarlamanın zamanını ve çabasını azalttığı için, birçok alana sahip büyük yapılarla uğraşırken kullanışlı olabilir.





Yapı alanlarına varsayılan değerler atamak için sıfır değerini kullanan bir örnek:

ana paket

içe aktarmak 'fmt'

tip Kişi yapısı {
Ad   dizesi
Yaş    int
Yükseklik float64
erkek bool
}

ana işlev ( ) {
p1 := Kişi { İsim: 'John' , Yaş: 30 }
fmt.Println ( p1.Ad )
fmt.Println ( p1.Yaş )
fmt.Println ( p1.Yükseklik )
fmt.Println ( p1.IsErkek )
}

Yukarıdaki kod bir Kişiyi tanımlar yapı dört alanla: Ad, Yaş, Boy ve IsMale, bunların tümü bool veri türündedir. Ardından, Person sınıfının yeni bir örneğini, p1 yaparız ve alan adlarını ve değerlerini belirtmek için yapı değişmezlerini kullanarak bazı alanlarını başlatırız. bu varsayılan sıfır değerleri kullanarak alanların değerlerini yazdırdığınızda, başlatma sırasında açıkça ayarlanmayan alanlar için görüntülenir. fmt.Println .



Çıktı

2: Yapıcılar

yazarak bir inşaatçı yapı işlevi için, Golang'daki yapı alanlarına varsayılan değerler de verebilirsiniz. bu inşaatçı işlev, yapının yeni bir örneğini oluşturur ve alanları için varsayılan değerleri ayarlar. Bu yöntem, özellikle çok sayıda alan içeren devasa yapılarla etkileşim halindeyken çaba ve zamandan tasarruf sağlar.

İşte nasıl tanımlanacağına dair bir örnek inşaatçı bir yapı için varsayılan alan değerlerine sahip işlev:

ana paket

içe aktarmak 'fmt'

tip Kişi yapısı {
Ad    dizesi
Yaş     int
adres dizisi
}
işlev Yeni Kişi ( ) * Kişi {
geri dönmek & Kişi {
İsim: 'John Doe' ,
Yaş: 30 ,
Adres: '123 Ana Cad' ,
}
}
ana işlev ( ) {
p := Yeni Kişi ( )
fmt.Println ( p.Ad, sayfa.Yaş, p.Adres )
}

Yukarıdaki kodda bir Kişi struct tanımlanır ve ayrıca yeni kişi() yeni bir örneğini üreten işlev Kişi önceden belirlenmiş varsayılanlarla yapı. Biz ararız yeni kişi() içinde ana() ile yeni bir Kişi örneği oluşturmak için varsayılan alan değerleri ve ardından bu örneğin alanlarının değerlerini yazdırırız.

Çıktı

3: Yapısal Değerler

Golang'da, kullanarak yapı alanları için varsayılan değerleri ayarlayabilirsiniz. yapı değişmezleri ilave olarak. Yapının yeni bir örneğini oluşturun ve başlatılması gereken her alan için değerleri ayarlayın. Açıkça başlatmadığınız alanlar için varsayılan değerler ayarlamak istiyorsanız, sıfır değer özelliğini kullanabilirsiniz.

İşte nasıl kullanılacağına dair bir örnek yapı değişmezleri bir yapı için varsayılan alan değerlerini ayarlamak için:

ana paket

içe aktarmak 'fmt'

tip Kişi yapısı {
Ad    dizesi
Yaş     int
adres dizisi
}
ana işlev ( ) {
p := Kişi {
İsim: 'John Doe' ,
Yaş: 30 ,
}
fmt.Println ( p.Ad, sayfa.Yaş, p.Adres )
}

Yukarıdaki kodda, bir tanımlıyoruz Kişi Bu örnekte struct oluşturun ve alanları için bir struct sabit değeri ve varsayılan değerler kullanarak bunun yeni bir örneğini oluşturun. yeni Kişi örnek, bazı alan değerleri doldurulmuş ve diğerleri boş bırakılmış olarak main() içinde oluşturulur. Beri Adres alan başlatılmazsa, bu alan için varsayılan değer olan boş dizeyi alır. Son olarak, Person örneğinin alan değerlerini yazdırıyoruz.

Çıktı

4: Varsayılan Alan Değerleri

atama varsayılan değerler ile yapı alanları Go'da basit bir işlemdir. bu varsayılan değer bir yapı alanı için sözdizimi kullanılarak ayarlanabilir alanAdı:varsayılanDeğer . Örneğin, aşağıdaki yapı tanımını göz önünde bulundurun:

tip Kişi yapısı {
İsim dizisi
yaş int
Cinsiyet dizisi
}

atamak için varsayılan değerler bu yapının alanlarına aşağıdaki sözdizimini kullanabiliriz:

p := Kişi {
İsim: 'John Doe' ,
Yaş: 30 ,
Cinsiyet: 'Erkek' ,
}

Yukarıdaki örnekte, atadığımız varsayılan değerler Kişi yapısının alanlarına. Başlatma sırasında değerlerden herhangi birini atlarsak, varsayılan değer yerine kullanılacaktır. Örneğin, şu şekilde bir Kişi nesnesini başlatırsak:

p := Kişi {
İsim: 'Jane Doe' ,
}

Ortaya çıkan Kişi nesnesi şuna sahip olacaktır: varsayılan değerler sırasıyla 0 ve boş bir dize olan Yaş ve Cinsiyet alanları için.

İşte yukarıdaki işlemi gösteren eksiksiz bir kod:

ana paket
içe aktarmak 'fmt'

tip Kişi yapısı {
Ad   dizesi
Yaş    int
Cinsiyet dizisi
}
ana işlev ( ) {
p1 := Kişi {
İsim: 'John Doe' ,
Yaş: 30 ,
Cinsiyet: 'Erkek' ,
}
fmt.Println ( p1 )

p2 := Kişi {
İsim: 'Jeremy' ,
}
fmt.Println ( p2 )
}

Yukarıdaki örnekte, üç alanı olan bir Kişi yapısı oluşturuyoruz: Yaşı temsil eden bir int olan Name ve cinsiyeti temsil eden bir dize olan Gender. Yapı başlatma sözdizimi daha sonra iki Kişi örneği, p1 ve p2 oluşturmak için kullanılır. p1, Ad için 'John Doe', Yaş için '30' ve Cinsiyet için 'Erkek' değerleriyle başlatılır; bunların tümü açıkça sağlanan değerlerdir. Yaş ve Cinsiyet için değer vermediğimiz için, sırasıyla 0 ve boş bir dize varsayılan değerleri atanacaktır. p2 başlangıçta yalnızca sağlanan Ad alanıyla başlatılır.

Çıktı

Çözüm

atama varsayılan değerler in Go, bu dil ile programlamanın önemli bir yönüdür. Oluşturulan her yapı örneğinin kendisine atanmış varsayılan verilere sahip olmasını sağlamaya yardımcı olur. Geliştiriciler, yukarıda açıklanan yöntemlerden herhangi birini kullanarak varsayılan değerler yapı alanlarının verimli bir şekilde