Golangdaki anonim yapılar ve alanlar

Golang'da yapılar (veya yapılar), farklı tipteki öğeleri tek bir birimde gruplandırmamıza olanak tanır; bu da gerçek dünyadaki varlıkları modellemek için yararlıdır . Golang'daki anonim yapılar, tek seferlik amaçlar için kullanılan, isimlendirilmemiş geçici yapılardır; anonim alanlar ise isimlendirilmemiş alanların gömülmesine olanak tanır.

Golang'daki anonim yapılar ve alanlar

Örneğin:

package main
import "fmt"

// struct học sinh với cấu trúc và trường ẩn danh
type Student struct {
    struct {    // Cấu trúc bên trong ẩn danh cho thông tin cá nhân
        name string
        enrollment int
    }
    GPA float64  // Trường chuẩn
}

func main() {
    student := Student{
        struct {
            name string
            enrollment int
        }{
            name: "A",
            enrollment: 12345,
        },
        GPA: 3.8,
    }
    fmt.Println("Name:", student.name)
    fmt.Println("Enrollment:", student.enrollment)
    fmt.Println("GPA:", student.GPA)
}

Sözdizimi:

variable := struct {
    field1 dataType1
    field2 dataType2                                                          # Cấu trúc ẩn danh
    // Trường bổ sung khi cần
}{value1, value2}


type StructName struct {
    dataType1
    dataType2                                                                    # Trường ẩn danh                                        
    // Trường ẩn danh bổ sung
}

Go'da Anonim Yapılar

Go'da anonim yapılar bir isim olmadan tanımlanır ve geçici, tek kullanımlık yapılar oluşturmak için kullanışlıdır. Söz dizimi ve kod örneği şöyledir.

Sözdizimi:

variable := struct {
    field1 dataType1
    field2 dataType2
    // Các trường bổ sung khi cần
}{value1, value2}

Örneğin:

package main
import "fmt"
// Cấu trúc sinh viên với cấu trúc bên trong ẩn danh cho thông tin cá nhân
type Student struct {
    personalDetails struct { // Cấu trúc ẩn danh bên trong cho thông tin cá nhân
        name       string
        enrollment int
    }
    GPA float64 // Trường chuẩn
}
func main() {
    // Khởi tạo cấu trúc bên trong cho student
    student := Student{
        personalDetails: struct {
            name       string
            enrollment int
        }{
            name:       "A",
            enrollment: 12345,
        },
        GPA: 3.8,
    }
    // Hiện giá trị
    fmt.Println("Name:", student.personalDetails.name)
    fmt.Println("Enrollment:", student.personalDetails.enrollment)
    fmt.Println("GPA:", student.GPA)
}

Sonuç:

Name: A
Enrollment: 12345
GPA: 3.8

Bu kod , içerisinde isim ve kayıt bilgilerinin saklandığı anonim personalDetails yapısı bulunan bir Öğrenci yapısını tanımlar. Daha sonra bu alanlara ait değerlerle student'i başlatıp yazdırıyoruz.

Anonim alanlar

Go'daki anonim alanlar, alanları açıkça adlandırmadan tanımlamanıza olanak tanır, yalnızca türleri belirtilir. Bu, alanların doğal olarak tür adını takip ettiği durumlarda yararlıdır.

Sözdizimi

type StructName struct {
    dataType1
    dataType2
    // Additional anonymous fields
}

Örneğin:

package main
import "fmt"

// Cấu trúc học sinh bằng các trường ẩn danh
type Student struct {
    int     // Số đăng ký (trường ẩn danh)
    string  // Tên trường ẩn danh
    float64 // GPA (trường ẩn danh)
}

func main() {
    // Khởi tạo struct học sinh với các trường ẩn danh
    student := Student{12345, "A", 3.8}

    // Hiện giá trị
    fmt.Println("Enrollment:", student.int)
    fmt.Println("Name:", student.string)
    fmt.Println("GPA:", student.float64)
}

Sonuç:

Enrollment: 12345
Name: A
GPA: 3.8

Burada veri tipleri ( int, string, float64 ) alan adı görevi gördüğünden değerlere erişim tiplere bağlıdır.

Golang'daki Anonim Alanlar Hakkında Hatırlanması Gereken Önemli Noktalar

1. Benzersiz gereklilik: Aynı türdeki iki alanı tek bir yapıda kullanamazsınız. Örneğin:

type InvalidStudent struct {
    int
    int // Error: duplicate type
}

2. Adlandırılmış ve anonim alanları birleştirme: Bir yapıda anonim ve adlandırılmış alanları birleştirebilirsiniz.

type Student struct {
    id int // Named field
    int    // Anonymous field
}

Yorum bırak

Kıyafetlerdeki yapıştırıcı kalıntılarını çıkarma: leke kalıcı hale gelmeden önce nazikçe hareket edin

Kıyafetlerdeki yapıştırıcı kalıntılarını çıkarma: leke kalıcı hale gelmeden önce nazikçe hareket edin

Kıyafetlerdeki yapıştırıcı kalıntılarını çıkarma: dikkatli sökmeden soğuk, sabunlu su ve leke çıkarıcıya, oradan yıkamaya kadar. Japon yapıştırıcısı, etiket kalıntıları ve hassas kumaşlar için ipuçlarıyla.

Bulaşık makinesi filtresi nasıl temizlenir: kalıntı ve kötü kokuları önlemek için basit rehber

Bulaşık makinesi filtresi nasıl temizlenir: kalıntı ve kötü kokuları önlemek için basit rehber

Bulaşık makinesi filtresini adım adım temizlemeyi öğrenin: çıkarma, durulama, fırçalama, yeniden takma, sıklık ve basit bir temizliğin artık yeterli olmadığının işaretleri.

Nemlendirici temizliğinde sitrik asit kullanılabilir mi? Yöntemlere göre dikkat edilmesi gerekenler ve güvenli adımlar örneklerle açıklanıyor

Nemlendirici temizliğinde sitrik asit kullanılabilir mi? Yöntemlere göre dikkat edilmesi gerekenler ve güvenli adımlar örneklerle açıklanıyor

Nemlendiricileri sitrik asit ile temizlerken konsantrasyon, bekletme, durulama ve yöntemlere göre dikkat edilmesi gerekenler üretici resmi bilgilerine dayanarak açıklanıyor. Örnek senaryolarla pratik adımlar anlaşılır şekilde sunuluyor.

Klima Filtresi Temizlenmezse Ne Olur? Elektrik Faturası, Verimlilik, Küf Riski ve Temizlik Sıklığı Seçimi

Klima Filtresi Temizlenmezse Ne Olur? Elektrik Faturası, Verimlilik, Küf Riski ve Temizlik Sıklığı Seçimi

Klima filtresi temizlenmediğinde elektrik faturalarında artış, ısıtma/soğutma verimliliğinde düşüş, koku ve küf oluşumu gibi sorunlar yaşanabilir. Üretici ve enerji tasarrufu bilgilerine dayanarak temizlik sıklığı, otomatik temizleme fonksiyonu ve profesyonel temizlik arasındaki dengeyi açıklıyoruz.

Sırt çantasını çamaşır makinesinde yıkamak: Ne zaman yapılabilir, ne zaman kaçınılmalı?

Sırt çantasını çamaşır makinesinde yıkamak: Ne zaman yapılabilir, ne zaman kaçınılmalı?

Sırt çantasının çamaşır makinesinde ne zaman yıkanabileceğini, bakım etiketinin nasıl okunacağını, program ve deterjan seçimini, askı ve fermuarların korunmasını ve el ile yıkamanın ne zaman tercih edilmesi gerektiğini keşfedin.

Microsoft Teams Lisans Hatası Giderme

Microsoft Teams Lisans Hatası Giderme

Microsoft Teams'te "Lisans Hatası" ile mi karşılaşıyorsunuz? Lisans sorunlarını hızlıca çözmek, erişimi geri yüklemek ve BT ekibiyle uğraşmadan verimliliği artırmak için bu adım adım sorun giderme kılavuzunu izleyin. En son düzeltmelerle güncellendi.

Microsoft Teams Ücretsiz Abonelik Hatası Nasıl Düzeltilir?

Microsoft Teams Ücretsiz Abonelik Hatası Nasıl Düzeltilir?

Microsoft Teams Ücretsiz Abonelik Hatası yüzünden toplantılarınızın aksamasından bıktınız mı? Sorunu hızlıca çözmek ve sorunsuz ekip çalışmasını yeniden sağlamak için kanıtlanmış, adım adım çözümleri keşfedin. En yeni sürümlerde çalışır!

Herkese Açık Wi-Fi Ağlarında Microsoft Teams Ağ Hatasını Çözme

Herkese Açık Wi-Fi Ağlarında Microsoft Teams Ağ Hatasını Çözme

Herkese açık Wi-Fi ağlarında Microsoft Teams ağ hatasıyla mı karşılaşıyorsunuz? Aramalarınızı ve toplantılarınızı sorunsuz bir şekilde geri yüklemek için VPN ayarları, port kontrolleri ve önbellek temizleme gibi anında çözümler bulun. Hızlı çözüm için adım adım kılavuz.

Microsoft Teams Wiki Sekmesinin Yüklenmeme Hatası Nasıl Düzeltilir?

Microsoft Teams Wiki Sekmesinin Yüklenmeme Hatası Nasıl Düzeltilir?

Microsoft Teams Wiki sekmesinin yüklenmemesi hatasıyla mı karşılaşıyorsunuz? Sorunu hızlıca çözmek, Wiki sekmelerinizi geri yüklemek ve ekip verimliliğini sorunsuz bir şekilde artırmak için kanıtlanmış adım adım çözümleri keşfedin.

Microsoft Teams Mac Hata Anahtar Zinciri Sorunlarını Giderme

Microsoft Teams Mac Hata Anahtar Zinciri Sorunlarını Giderme

Microsoft Teams Mac'te Anahtar Zinciri hatasıyla mı mücadele ediyorsunuz? Sorunsuz iş birliğine geri dönmek için macOS için kanıtlanmış, adım adım sorun giderme çözümlerini keşfedin. Hızlı çözümler içeride!