Menu
CoddyTech

Menggunakan Pointer dalam Fungsi

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

Fungsi dapat menerima dan mengubah variabel melalui pointer. Ini memungkinkan fungsi mengubah nilai aslinya, bukan hanya salinannya.

Buat fungsi yang mengubah nilai melalui pointer:

func main() {
    number := 10
    fmt.Println("Before:", number)
    
    // Teruskan alamat number
    doubleValue(&number)
    
    fmt.Println("After:", number)
}

func doubleValue(num *int) {
    // Ubah nilai pada alamat pointer
    *num = *num * 2
}

Output menunjukkan nilai yang diubah oleh fungsi:

Before: 10
After: 20

Saat kita meneruskan &number, fungsi menerima pointer dan dapat mengubah variabel asli.

challenge icon

Tantangan

Pemula

Dalam tantangan ini, kamu akan berlatih menggunakan pointer dalam fungsi. Kamu perlu melengkapi fungsi yang menerima pointer ke string dan mengubah nilai string tersebut menjadi huruf kapital.

Fungsi makeUppercase sudah didefinisikan untukmu. Tugasmu adalah mengubah string yang ditunjuk oleh pointer dengan menggunakan fungsi strings.ToUpper().

Coba sendiri

package main

import (
	"fmt"
	"strings"
)

// makeUppercase menerima pointer ke string dan mengubah string tersebut menjadi huruf besar
func makeUppercase(strPtr *string) {
	// TODO: Gunakan strings.ToUpper() untuk mengubah string yang ditunjuk oleh strPtr
	// Petunjuk: Kamu perlu melakukan dereferensi pointer untuk mengakses nilai string
	? = strings.ToUpper(?)
	
}

func main() {
	// Kita sudah punya variabel string
	message := "hello, world"
	
	// Cetak pesan asli
	fmt.Printf("Original message: %s\n", message)
	
	// Panggil makeUppercase dengan alamat message
	makeUppercase(&message)
	
	// Cetak pesan yang telah diubah
	fmt.Printf("Modified message: %s\n", message)
}
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