Menu
CoddyTech

Pointer ke Struct

Termasuk bagian Dasar-Dasar dalam perjalanan GO di Coddy. Pelajaran 97 dari 109.

Saat bekerja dengan struct, kamu bisa membuat pointer ke struct tersebut seperti pada tipe lainnya. Ini berguna untuk meneruskan struct berukuran besar secara efisien.

Definisikan struct Person dan buat pointer ke sana:

type Person struct {
    name string
    age  int
}

func main() {
    person := Person{name: "Alice", age: 30}
    
    // Buat pointer ke struct
    personPtr := &person
    
    // Akses field melalui pointer
    fmt.Println(personPtr.name)
    fmt.Println(personPtr.age)
}

Output menunjukkan bahwa kita dapat mengakses field melalui pointer:

Alice
30

Kamu juga bisa mengubah field melalui pointer:

personPtr.age = 31
fmt.Println(person.age)  // Mencetak: 31
challenge icon

Tantangan

Pemula

Dalam tantangan ini, kamu akan berlatih menggunakan pointer ke struct di Go. Kamu memiliki struct Person dengan field name dan age. Tugasmu adalah memperbarui informasi orang tersebut menggunakan pointer ke struct.

Kode tersebut sudah membuat struct Person dan pointer ke struct itu. Kamu perlu mengubah informasi orang tersebut melalui pointer.

Coba sendiri

package main

import "fmt"

// Struct Person dengan field name dan age
type Person struct {
	name string
	age  int
}

func main() {
	// Buat struct Person
	person := Person{
		name: "John",
		age:  25,
	}

	// Buat pointer ke struct Person
	personPtr := &person

	// Tampilkan informasi awal person
	fmt.Println("Original person:")
	fmt.Printf("Name: %s, Age: %d\n", person.name, person.age)

	// TODO: Gunakan pointer untuk mengubah nama person menjadi "Jane" dan usianya menjadi 30
	// Petunjuk: Kamu bisa mengakses field struct melalui pointer dengan notasi titik
	

	// Tampilkan informasi person yang sudah diperbarui
	fmt.Println("Updated person:")
	fmt.Printf("Name: %s, Age: %d\n", person.name, person.age)
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler Go online