Apa Itu Pointer?
Bayangin kamu punya rumah, dan kamu kasih alamat rumah itu ke temanmu. Temanmu bisa datang dan mengubah isi rumahnya — bukan hanya fotokopi rumahnya.
Nah, pointer di Go itu seperti alamat rumah tadi. Dia menyimpan alamat dari variabel lain.
Kenapa Harus Belajar Pointer?
-
Untuk efisiensi memori
-
Untuk menghindari penyalinan data besar
-
Untuk mengubah data asli di fungsi
Contoh Pointer Sederhana
package main
import "fmt"
func main() {
var angka int = 10
var pointer *int = &angka
fmt.Println("Nilai:", angka)
fmt.Println("Alamat:", pointer)
fmt.Println("Nilai dari pointer:", *pointer)
}
Penjelasan:
&angka-
Mengambil alamat dari variabel
angka *pointer-
Mengambil nilai dari alamat yang disimpan di
pointer
Pointer dan Fungsi
func ubahNilai(n *int) {
*n = *n + 10
}
func main() {
x := 5
ubahNilai(&x)
fmt.Println(x) // hasilnya jadi 15
}
Pointer dan Struct
type User struct {
Nama string
}
func ubahNama(u *User) {
u.Nama = "RuangCodes"
}
func main() {
user := User{Nama: "Anonim"}
ubahNama(&user)
fmt.Println(user.Nama)
}
Tips Belajar Pointer
|
Important
|
Jangan takut dengan pointer! Coba ubah-ubah kodenya, print alamat dan nilainya, dan lihat apa yang terjadi. |
Kesimpulan
Pointer memang kelihatan ribet di awal, tapi dengan pemahaman yang tepat, pointer akan jadi alat yang sangat berguna dalam menulis kode Go yang efisien.

