Structs: Kendi Veri Modellerinizi Tanımlayın

  • Konbuyu başlatan Konbuyu başlatan irfo
  • Başlangıç tarihi Başlangıç tarihi

irfo

Moderatör
Top Poster Of Month
Katılım
7 Ocak 2026
Mesajlar
290
Tepkime puanı
2
Puanları
18

Go'nun "Class"ları​

Go, tam anlamıyla Nesne Tabanlı (OOP) bir dil değildir; Class (Sınıf) ve Inheritance (Kalıtım) yoktur. Ancak verileri gruplamak ve kendi tiplerimizi oluşturmak için Struct (Yapı) kullanılır. Struct, birbiriyle ilişkili verileri (alanları) tek bir çatı altında toplar.

Struct Tanımlama​

Genellikle main fonksiyonunun dışında tanımlanır.

Kod:
package main

import "fmt"

// Kendi "User" tipimizi oluşturuyoruztype User struct {ID        intUsername  stringEmail     stringIsActive  bool}

func main() {// Yöntem 1: Alan isimlerini belirterekkullanici1 := User{ID:       1,Username: "gopher",Email:    "[email protected]",IsActive: true,}

// Yöntem 2: Sırasıyla (Önerilmez, yapı değişirse kod patlar)<br>kullanici2 := User{2, "admin", "[email protected]", false}<br><br>// Alanlara erişim (Nokta ile)<br>fmt.Println("Kullanıcı Adı:", kullanici1.Username)<br><br>// Alanı güncelleme<br>kullanici1.IsActive = false<br>fmt.Printf("%+v\n", kullanici1) // %+v struct'ı detaylı yazdırır<br>
}

Anonim Struct​

Bazen tek seferlik bir yapıya ihtiyaç duyarsınız (örneğin JSON verisi çözerken). Tip tanımı yapmadan da struct kullanabilirsiniz.

Kod:
veriler := struct {Host stringPort int}{Host: "localhost",Port: 8080,}

Sonuç​

Struct'lar, Go programlamanın omurgasıdır. Veritabanı tablolarını, JSON verilerini veya uygulamanızın ayarlarını temsil etmek için her zaman struct kullanırsınız. Bir sonraki derste göreceğimiz "Metotlar" ile bu yapılara yetenek kazandıracağız.
 
Geri
Üst