Menu
CoddyTech

Mendeklarasikan Variabel Pointer

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

Di Go, kamu dapat mendeklarasikan pointer dengan dua cara utama: menggunakan var dengan tipe pointer atau menggunakan operator alamat dengan :=.

Deklarasikan pointer menggunakan var dengan tipe pointer:

func main() {
    var x int = 42
    var ptr *int    // Deklarasikan pointer ke bilangan bulat
    ptr = &x        // Tetapkan alamat x ke ptr
    
    fmt.Println("Value of x:", x)
    fmt.Println("Value of ptr:", ptr)
    fmt.Println("Value at ptr:", *ptr)
}

Output menunjukkan bahwa pointer menyimpan alamat x:

Value of x: 42
Value of ptr: 0xc000018030
Value at ptr: 42

Kamu juga bisa mendeklarasikan dan menginisialisasi pointer dalam satu baris menggunakan :=:

y := 100
ptr := &y    // Deklarasikan dan inisialisasi pointer dalam satu langkah
challenge icon

Tantangan

Pemula

Dalam tantangan ini, kamu akan berlatih mendeklarasikan dan menggunakan pointer di Go. Sebuah pointer sudah disiapkan untukmu, dan tugasmu adalah membuat pointer baru yang menunjuk ke nilai yang sama.

Selesaikan TODO dalam kode untuk mendeklarasikan variabel pointer baru bernama 'secondPointer' yang menunjuk ke alamat memori yang sama dengan pointer yang sudah ada.

Coba sendiri

package main

import "fmt"

func main() {
	// Ini variabel dan pointer yang menunjuk ke variabel itu
	originalValue := 42
	pointerToValue := &originalValue
	
	// TODO: Deklarasikan variabel pointer baru bernama 'secondPointer' 
	// yang menunjuk ke alamat memori yang sama dengan 'pointerToValue'
	
	
	// Jangan ubah kode di bawah ini
	fmt.Printf("Original value: %v\n", originalValue)
	fmt.Printf("Value through first pointer: %v\n", *pointerToValue)
	fmt.Printf("Value through second pointer: %v\n", *secondPointer)
	
	// Mari ubah nilai awalnya dan lihat semua pointer mencerminkan perubahan itu
	originalValue = 100
	fmt.Printf("\nAfter changing original value to 100:\n")
	fmt.Printf("Original value: %v\n", originalValue)
	fmt.Printf("Value through first pointer: %v\n", *pointerToValue)
	fmt.Printf("Value through second pointer: %v\n", *secondPointer)
}
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