Menu
Coddy logo textTech

Struct Pointer'ları

Coddy'nin GO Journey'sinin Temeller bölümünün bir parçası. Ders 97 / 109.

Yapılarla çalışırken, tıpkı diğer türlerde olduğu gibi onlara işaretçiler oluşturabilirsiniz. Bu, büyük yapıları verimli bir şekilde geçirmek için kullanışlıdır.

Bir Person struct'ı tanımlayın ve ona bir işaretçi oluşturun:

type Person struct {
    name string
    age  int
}

func main() {
    person := Person{name: "Alice", age: 30}
    
    // Struct'a bir pointer oluştur
    personPtr := &person
    
    // Pointer üzerinden alanlara eriş
    fmt.Println(personPtr.name)
    fmt.Println(personPtr.age)
}

Çıktı, alanlara işaretçi aracılığıyla erişebileceğimizi gösteriyor:

Alice
30

Ayrıca alanları işaretçi aracılığıyla değiştirebilirsin:

personPtr.age = 31
fmt.Println(person.age)  // Yazdırır: 31
challenge icon

Görev

Başlangıç

Bu görevde Go'da yapı işaretçileriyle çalışmayı pratik edeceksin. name ve age alanlarına sahip bir Person yapın var. Görevin, yapıya yönelik bir işaretçi kullanarak kişinin bilgilerini güncellemek.

Kod, zaten bir Person yapısı ve ona yönelik bir işaretçi oluşturuyor. Kişinin bilgilerini işaretçi üzerinden değiştirmen gerekiyor.

Kendin dene

package main

import "fmt"

// Person yapısı, isim ve yaş alanlarını içerir
type Person struct {
	name string
	age  int
}

func main() {
	// Bir Person yapısı oluştur
	person := Person{
		name: "John",
		age:  25,
	}

	// Person yapısına bir işaretçi (pointer) oluştur
	personPtr := &person

	// Orijinal kişi bilgilerini yazdır
	fmt.Println("Original person:")
	fmt.Printf("Name: %s, Age: %d\n", person.name, person.age)

	// TODO: İşaretçiyi kullanarak kişinin adını "Jane" ve yaşını 30 olarak değiştirin
	// İpucu: Yapı alanlarına bir işaretçi üzerinden nokta notasyonu kullanarak erişebilirsiniz
	

	// Güncellenmiş kişi bilgilerini yazdır
	fmt.Println("Updated person:")
	fmt.Printf("Name: %s, Age: %d\n", person.name, person.age)
}
quiz iconKendini test et

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

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: Online Go derleyicisi