Golang'daki Yapılar Nelerdir?

Golang Daki Yapilar Nelerdir



Go dilinde bir yapı, tek bir isim altında gruplanmış değişkenler (alanlar) topluluğudur. İlgili bilgileri tutmak için özel veri yapıları oluşturmamıza izin veren bileşik bir veri türüdür. Go'daki yapılar, C ve C++ gibi nesne yönelimli programlamadaki sınıflar gibidir, ancak kalıtımı desteklemezler. Bunun yerine, kodu yeniden kullanmak için kompozisyona güvenirler. Bu makale, Golang'daki yapıları ve struct üyelerini nasıl ilan edip bunlara nasıl erişebileceğimizi kapsar.

Golang'da Yapı Nedir?

Golang'da yapı, her biri belirli bir türe sahip sıfır veya daha fazla adlandırılmış alandan oluşan bileşik bir veri türüdür. Bir yapının alanları, diğer yapılar, diziler, işlevler veya arayüzler dahil herhangi bir türde olabilir.







İşte Golang'daki bir yapının bir örneği:



tip Kişi yapısı {
TamAdı dizesi
yaşında int
Konum adresi
}
tip adres yapısı {
SokakAdı  dizesi
ŞehirAdı    dizesi
ÜlkeAdı dizesi
}


Burada üç alanı olan bir Kişi yapısı tanımladık: FullName, YearsOld ve Location. Konum alanının kendisi, üç alanı olan bir yapıdır: StreetName, CityName ve CountryName.



Golang'da Struct Nasıl Bildirilir?

kullanarak Golang'da bir yapı ilan edebiliriz. tip anahtar kelime. Yapının adı, tip anahtar kelime ve alanları kıvrık parantez içine alınır { } . İşte Go'da bir yapı bildirmek için kullanılan sözdizimi:





tip YapıAdı yapısı {
AlanAdı1 AlanTürü1
AlanAdı2 AlanTürü2
...
}


Aşağıda, sırasıyla name ve age türünde string ve int olmak üzere iki alanla Kişi adlı bir yapının nasıl bildirileceğine ilişkin bir örnek verilmiştir:

tip Kişi yapısı {
isim dizisi
yaş
}


Yukarıdaki kodda kullandığımız tip adında yeni bir yapı bildirmek için anahtar kelime Kişi iki alanlı isim dize türünde ve yaş int tipi Alanlar bir ile ayrılır Yeni hat karakter ama bir noktalı virgül (;) ayırmak için de kullanılabilir.



Golang'da Yapı Üyesine Nasıl Erişilir

Go dilinde bir yapı örneğinin alanlarına erişmek için nokta (“.”) operatörü kullanılır. Bu nokta operatörünü bir alan adı takip eder. İşte bir Person yapı örneğinin ad ve yaş alanlarına nasıl erişileceğine dair bir örnek:

// Yeni bir tane oluştur ` Kişi ` isimli yapı örneği 'kaş' ve yaş 24
kaş := Kişi { isim: 'kaş' , yaş: 24 }

// alanlarına erişin ` kaşar ` yapı örneği
fmt.Println ( kash.name ) // Çıktı: 'kaş'
fmt.Println ( kash.age ) // Çıktı: 24


Yukarıdaki kodda, kash adında yeni bir Person struct örneği oluşturduk. kaşar ve yaş 24 . Daha sonra kullanarak kash yapı örneğinin ad ve yaş alanlarına erişiriz. (“.”) operatörünü seçin ve bunları konsola yazdırın.

Bir yapı örneğinin alanlarına nokta notasyonu kullanılarak erişildiğine dikkat etmek önemlidir. ok gösterim (->) diğer bazı programlama dillerinde kullanılır. Nokta gösterimi, yapı alanlarına ve diğer türlerin özelliklerine ve yöntemlerine erişmek için Go genelinde tutarlı bir şekilde kullanılır.

Golang'da Struct Üyesi Bildirme ve Erişme Örneği Kodu

Aşağıda, Kişi yapısını Go'da bildirmenin ve değerlerini ekrana yazdırmanın tam bir örneği verilmiştir:

ana paket
içe aktarmak 'fmt'
tip Kişi yapısı {
isim dizisi
yaş
}
ana işlev ( ) {
// Yeni bir tane oluştur ` Kişi ` isimli yapı örneği 'kaş' ve yaş 24
kaş := Kişi { isim: 'kaş' , yaş: 24 }
// yazdır ` isim ` Ve ` yaş ` ile ilgili ` kaşar ` konsola yapı örneği
fmt.Printf ( 'Ad: %s \N ' , kaş.isim )
fmt.Printf ( 'Yaş: %d \N ' , kash.age )
}


Yukarıda yazılan kodda, önce Kişi yapı Bu yapı, ad ve yaş olmak üzere iki alan içerir. Bundan sonra, kash adında yeni bir Person struct örneği oluşturduk. kaşar ve yaş 24 .

Ad ve yaş alanlarını görüntülemek için fmt.Printf ile işlev %S Ve %D Sırasıyla ad ve yaş alanlarını yazdırmak için biçim belirticileri.

Çalıştırdıktan sonra, konsolda çıktıyı izleyen kod görünür:

Yapıyı İşlev Argümanları Olarak Geçirme

Bir yapıyı Go'da işlev bağımsız değişkeni olarak iletmek için, işlev imzasında parametre türü olarak yapı türünü belirtmemiz ve ardından işlevi çağırırken yapı örneğini bir bağımsız değişken olarak iletmemiz yeterlidir.

Örnek Kod

Aşağıdaki örnek, bir Person yapı örneğinin Go dilindeki bir işleve argüman olarak nasıl iletileceğini ve değerlerinin ekrana nasıl yazdırılacağını gösterir:

ana paket
içe aktarmak 'fmt'
// adlı bir yapı bildirin ` Kişi ` iki alanla: ` isim ` Ve ` yaş `
tip Kişi yapısı {
isim dizisi
yaş
}
// ilan etmek işlev adlı ` baskıKişi ` bu alır ` Kişi ` yapı gibi tartışma
işlev baskıKişi ( Kişi ) {
fmt.Printf ( 'Ad: %s \N ' , s.adı )
fmt.Printf ( 'Yaş: %d \N ' , sayfa )
}
ana işlev ( ) {
// Yeni bir tane oluştur ` Kişi ` isimli yapı örneği 'kaş' ve yaş 24
kaş := Kişi { isim: 'kaş' , yaş: 24 }
// Geç ` kaşar ` yapı örneği ` baskıKişi ` işlev
baskıKişi ( kaşar )
}


Yukarıdaki kodda, önce Person yapısını iki alanla bildirdik, isim, Ve yaş . Daha sonra adında bir işlev bildiririz. baskıKişi Bu, bir Kişi yapısını bağımsız değişken olarak alır ve fmt.Printf işlevini kullanarak adını ve yaş alanlarını ekrana yazdırır.

Ana fonksiyonda, kash adında yeni bir Person struct örneği oluşturduk. kaşar ve yaş 24. Daha sonra printPerson işlevini çağırarak ve geçirerek kash struct örneğini printPerson işlevine iletiyoruz. kaşar argüman olarak.

Yukarıdaki kodu çalıştırdıktan sonra konsolda aşağıdaki çıktı görülebilir:

Çözüm

Golang'da yapılar, karmaşık veri türlerini temsil edebilir ve ilgili verileri kapsülleyebilir. Yapı, her birine belirli bir ad ve tür verilen bir veya daha fazla alandan oluşan bir veri türüdür. Bir yapının alanları, diğer yapılar, diziler, işlevler veya arayüzler dahil herhangi bir türde olabilir. Bu makale, Go yapılarını ayrıntılı olarak tartıştı, yapı öğelerini bildirmek ve bunlara erişmek hakkında daha fazla bilgi için makaleyi okuyun.