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: 22Variabel tax hanya ada di dalam fungsi calculateTotal dan tidak dapat diakses dari main.
Tantangan
PemulaDalam 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)
}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 KeputusanLatihan sendiri: Compiler Go online