Apa Itu Pointer
Pelajaran 2 dari 19 dalam kursus Fungsi dan Pointer di Golang di Coddy.
Pertanyaan pertama yang perlu kita jawab adalah, apa itu pointer? Kita sudah mempelajari variabel, yang kita definisikan sebagai kotak untuk menyimpan nilai. Sebaliknya, pointer adalah kotak yang menyimpan alamat, bukan nilai.
Saat kita membuat variabel dalam bahasa pemrograman apa pun, variabel ini disimpan di memori, dan setiap ruang di memori memiliki alamat. Misalnya, jika kita mendefinisikan variabel seperti ini:
var name = "Coddy"Kita bisa merepresentasikannya di memori seperti ini:
Agar bisa mendapatkan nilai apa pun dari memori, kita memerlukan alamat. Jadi, alamat memberi tahu kita lokasi ruang ini di memori.
Sebaliknya, pointer adalah kotak tempat kita menyimpan alamat memori, bukan nilainya. Itulah sebabnya kita menyebutnya pointer, karena pointer menunjuk ke alamat memori.
Sintaks untuk mendefinisikan pointer seperti ini:
var name = "Coddy"
namePointer := &nameDi sini, kita mendefinisikan pointer bernama namePointer dan menggunakan & untuk menunjuk ke alamat variabel name.
Kita bisa mendefinisikan pointer baru dengan nilai default, yaitu nil, seperti ini:
var coddy *stringSintaks * ini membuat pointer baru bernama coddy dengan tipe string, dan nilai default pointer adalah nil.
Untuk mencetak alamat yang tersimpan di pointer, kita cukup memberikan nama pointer seperti ini:
fmt.Println(coddy)Untuk mencetak nilai yang tersimpan di alamat pointer, kita menggunakan tanda bintang *:
fmt.Println(*coddy)Tantangan
Mudah- Deklarasikan variabel bernama a dengan nilai 200.
- Deklarasikan pointer baru bernama aPointer dengan tipe int.
- Arahkan alamat variabel a ke pointer aPointer.
- Cetak nilai pointer aPointer dan variabel a.
Coba sendiri
package main
import "fmt"
func main() {
// Deklarasikan variabel bernama a dengan nilai 200.
// Deklarasikan pointer baru bernama aPointer bertipe int.
// Arahkan pointer aPointer ke alamat variabel a.
// Cetak nilai pointer aPointer dan variabel a.
fmt.Println("the value of the pointer:",?)
fmt.Println("the value of the variable :",?)
}Semua pelajaran di Fungsi dan Pointer di Golang
1Pengantar
Pengantar4Bangun Kembali Fungsi string Go
String di GolangFungsi JoinFungsi ContainsFungsi IndexTantangan Rekap #1Latihan sendiri: Compiler Go online