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: 20Saat kita meneruskan &number, fungsi menerima pointer dan dapat mengubah variabel asli.
Tantangan
PemulaDalam 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)
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator Perbandingan dan Logika
Operator Perbandingan, Bagian 1Operator Perbandingan, Bagian 2Operator AND LogikaOperator OR LogikaOperator NOT LogikaDasar Prioritas OperatorRingkasan, Membuat Perbandingan7Alur Kontrol: Perulangan
Penjelasan tentang `for` loop`for` loop Dasar`for` loop dengan Kondisi SajaKata Kunci `break`Kata Kunci `continue`Perulangan BersarangRangkuman: Mengulang Tindakan2Variabel dan Tipe Data Dasar
Apa itu variabelInferensi Tipe dengan `:=`Bilangan Bulat (int)Bilangan Floating-PointBooleanstringNilai NolKonstantaKonvensi PenamaanRangkuman: Variabel dan Tipe5Input/Output Dasar
Output TerformatKata Kerja FormatMencetak Tipe DataMendapatkan Input Dasar dari PenggunaRangkuman: Input dan Output8Fungsi
Memahami FungsiMendeklarasikan FungsiMemanggil FungsiParameter FungsiMengembalikan Satu NilaiMengembalikan Beberapa NilaiNilai Kembalian BernamaDasar Cakupan FungsiRangkuman: Membuat Kodemu Dapat Digunakan Kembali3Operator Dasar
Operator AritmetikaOperator PembagianOperator ModuloOperator PenugasanOperator Penugasan GabunganInkrementasi dan DekrementasiRangkuman: Perhitungan6Alur Kontrol: Percabangan
Pernyataan `if`Kata Kunci `else`Kata Kunci `else if`Shadowing Variabel dalam `if`Menginisialisasi VariabelPernyataan `switch``switch` dengan Ekspresi`switch` tanpa EkspresiKata Kunci `fallthrough`Ringkasan: Membuat Keputusan9Pointer
Apa Itu Pointer?Mendeklarasikan Variabel PointerOperator Address-OfMelakukan Dereferensi PointerMenggunakan Pointer dalam FungsiPointer NilUlasan: Memahami PointerLatihan sendiri: Compiler Go online