Menu
CoddyTech

Dasar Cakupan Fungsi

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

Di Go, variabel yang dideklarasikan di dalam fungsi hanya dapat diakses di dalam fungsi tersebut. Ini disebut scope fungsi.

Buat fungsi dengan variabel lokal:

func calculateTotal(price int, quantity int) int {
    tax := 0.1 * float64(price * quantity)  // variabel lokal
    total := price * quantity + int(tax)
    return total
}

func main() {
    result := calculateTotal(10, 2)
    fmt.Println("Total:", result)
    // fmt.Println(tax)  // error: tax tidak dapat diakses di sini
}

Output hanya menampilkan nilai yang dikembalikan:

Total: 22

Variabel tax hanya ada di dalam fungsi calculateTotal dan tidak dapat diakses dari main.

challenge icon

Tantangan

Pemula

Dalam tantangan ini, kamu akan berlatih memahami cakupan fungsi di Go. Kamu perlu memperbaiki program sederhana yang memiliki masalah cakupan.

Program ini memiliki variabel global message dan sebuah fungsi yang mencoba mengubahnya. Tugasmu adalah memperbaiki kode agar fungsi tersebut memperbarui variabel global dengan benar.

Coba sendiri

package main

import "fmt"

// Variabel global
var message string = "Hello from global scope"

func updateMessage() {
    // Ini membuat variabel lokal baru, bukan mengubah variabel global
    message := "Hello from function scope"
    fmt.Println("Inside function:", message)
}

func main() {
    fmt.Println("Before function call:", message)
    updateMessage()
    
    // TODO: Variabel global message masih berisi nilai awal
    // Ubah fungsi updateMessage() agar mengubah variabel global
    fmt.Println("After function call:", 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