Multiple Return Values

Saya menemukan konsep ini pada bahasa pemrograman Go, tapi setelah saya mencoba-coba bahasa pemrograman Python ternyata juga ada konsep multiple return values. Fitur ini ternyata sangat powerful di beberapa case.

Simpelnya konsep ini bisa disebut sebagai sebuah function yang bisa return banyak nilai (values).

Go memiliki built-in support untuk multiple return values, konsep ini dipakai ketika ingin return hasil dan error dari sebuah function.

Untuk mendeklarasikan function biasa seperti contoh code di bawah ini:

func someFunction() string {
    return "someFunction() called"
}

Namun bagaimana jika menggunakan konsep multiple return values? Contohnya seperti code di bawah ini:

func multipleReturn() (string, string) {
    return "This function return", "multiple values"
}
package main

import "fmt"

func someFunction() string {
    return "someFunction() called"
}

func multipleReturn() (string, string) {
    return "This function return", "multiple values"
}

func main() {

    a := someFunc()
    // a : someFunction() called

    b, c := multipleReturn()
    // b : This function return
    // c : multiple values

    _, d := multipleReturn()
    // d : multiple values
}

Jika hanya menginginkan subset dari nilai yang dikembalikan, gunakan pengidentifikasi kosong (blank identifier) menggunakan tanda underscore (garis bawah) _