Menu
Coddy logo textTech

Sınıf Olarak Struct'lar

Coddy'nin GO Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 6 / 107.

Go'daki struct'lar, diğer dillerdeki sınıflarla aynı amaca hizmet eder. İlişkili verileri tek bir türde bir araya getirirler.

Birden fazla alan türüne sahip bir struct tanımlayın

type Car struct {
    Brand string
    Model string
    Year  int
    Price float64
}

Alan adlarını kullanarak bir örnek oluşturun

car := Car{
    Brand: "Toyota",
    Model: "Camry",
    Year:  2023,
    Price: 28000.50,
}

Alanlara erişin ve alanları değiştirin

fmt.Println(car.Brand) // Toyota
fmt.Println(car.Year)  // 2023

car.Price = 27000.00   // Bir alanı değiştir
fmt.Println(car.Price) // 27000

Yapılar başka yapılar içerebilir

type Engine struct {
    Horsepower int
    FuelType   string
}

type Car struct {
    Brand  string
    Model  string
    Engine Engine
}

car := Car{
    Brand:  "Ford",
    Model:  "Mustang",
    Engine: Engine{Horsepower: 450, FuelType: "Gasoline"},
}
fmt.Println(car.Engine.Horsepower) // 450

Yapılar, ilişkili alanları birlikte gruplandırır. Alanlara nokta operatörüyle erişirsiniz ve karmaşık veri modelleri oluşturmak için yapıları diğer yapıların içine yerleştirebilirsiniz.

challenge icon

Görev

Orta

Aşağıdaki alanlara sahip bir Profile yapısı tanımlayın:

  • Name: string
  • Email: string
  • Age: int
  • Role: string

Kendin dene

package main

import "fmt"

func main() {
    var name, email, role string
    var age int
    fmt.Scan(&name, &email, &age, &role)

    p := Profile{
        Name:  name,
        Email: email,
        Age:   age,
        Role:  role,
    }

    fmt.Printf("Name: %s\n", p.Name)
    fmt.Printf("Email: %s\n", p.Email)
    fmt.Printf("Age: %d\n", p.Age)
    fmt.Printf("Role: %s\n", p.Role)
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Nesne Yönelimli Programlama bölümündeki tüm dersler

Kendi başına pratik yap: Online Go derleyicisi