Function & Multiple Return

Membuat function, parameter, nilai kembalian ganda, dan named return.

Part 9 dari 23 ± 35 menit Gratis

Function

Function membungkus kode agar bisa dipakai berulang kali.

func tambah(a int, b int) int {
    return a + b
}

hasil := tambah(2, 3)   // 5

Format: func nama(parameter tipe) tipeKembalian. Jika beberapa parameter bertipe sama, tipe boleh ditulis sekali: func tambah(a, b int) int.

Function tanpa nilai kembalian

func sapa(nama string) {
    fmt.Println("Halo,", nama)
}

Multiple return value

Fitur andalan Go: satu function boleh mengembalikan beberapa nilai. Paling sering dipakai untuk hasil + error atau hasil + ok.

func bagi(a, b float64) (float64, bool) {
    if b == 0 {
        return 0, false
    }
    return a / b, true
}

hasil, ok := bagi(10, 2)   // 5, true

Gunakan jika salah satu nilai tidak dibutuhkan: hasil, := bagi(10, 2).

Named return

Nilai kembalian boleh diberi nama; return kosong (naked return) akan mengembalikan nilainya.

func minMax(a, b int) (min, max int) {
    if a < b { return a, b }
    return b, a
}

Gunakan hemat — untuk function panjang, return eksplisit lebih jelas.

Function adalah nilai

Function bisa disimpan di variable dan dikirim sebagai argumen:

kali := func(a, b int) int { return a * b }
fmt.Println(kali(3, 4))   // 12

Scope & argumen disalin

Variable di dalam function hanya hidup di dalamnya. Argumen disalin saat dikirim, sehingga mengubah parameter tidak memengaruhi variable aslinya (kecuali memakai pointer, bab 15).

Urutan function di file

Berbeda dari beberapa bahasa, urutan penulisan function di file Go tidak berpengaruh. main boleh memanggil function yang ditulis di bawahnya.

Praktikkan langsung, gratis

Tulis dan jalankan kode langsung di browser, dapatkan penilaian otomatis. Daftar gratis kapan saja untuk menyimpan progres dan meraih sertifikat.

Coba latihan sekarang, tanpa daftar
Bagikan: WhatsApp Facebook LinkedIn X