Memahami Fungsi Return Multiple Value Dalam Golang
Kali ini Code Dadakan akan membahas tentang sebuah fungsi di dalam bahasa pemerograman golang yang dapat mengembalikan beberapa nilai ( multiple value ). Bahasa pemerograman golang, sebuah fungsi tidak hanya dapat mengembalikan satu buah nilai, akan tetapi bisa lebih, yang berarti sebuah fungsi dapat mengembalikan lebih dari satu nilai. Fitur ini sangat berguna dalam berbagai situasi dimana programmer dapat memerlukan banyak data yang di hasilkan dari satu fungsi. Mari kita eksplorasi bagaimana cara kerja Fungsi Return Multiple value di dalam bahasa pemerograman golang.
Contoh Kode
Silahkan buat project golang terlebih dahulu dan membuka folder golang tersebut di teks editor yang anda biasa gunakan. Kemudian ikuti panduan di bawah ini dan simak baik baik penjelasannya.
Berikut adalah contoh kode bagaimana cara mengimplementasikan fungsi yang dapat mengembalikan beberapa nilai :
package main
import "fmt"
func main() {
name, age, isMarried := getProfile()
fmt.Println("Name:", name)
fmt.Println("Age:", age)
fmt.Println("isMarried:", isMarried)
github, _, gitlab := getWebsite()
fmt.Println("GitHub:", github)
fmt.Println("GitLab:", gitlab)
facebook, instagram, twitter := getWebsite()
fmt.Println(facebook)
fmt.Println(instagram)
fmt.Println(twitter)
}
func getProfile() (string, int, bool) {
return "Ikbal Kurniawan", 25, false
}
func getWebsite() (string, string, string) {
return "GitHub", "BitBucket", "GitLab"
}
func getWebsite() (facebook, instagram, twitter string) {
facebook = "facebook.com"
instagram = "instagram.com"
twitter = "twitter.com"
return
}
Ketika kode di atas di jalankan, maka akan menghasilkan output seperti di bawah ini :
Name: Ikbal Kurniawan
Age: 25
isMarried: false
GitHub: GitHub
GitLab: GitLab
Penjelasan Kode
1. Deklarasi Fungsi getProfile()
Fungsi getProfile di buat agar bisa mengembalikan tiga buah nilai yang berbeda tipe data yaitu : string, int, bool.
func getProfile() (string, int, bool) {
return "Ikbal Kurniawan", 25, false
}
Ketika funtsi getProfile di panggil di dalam main fungsi, maka fungsi ini akan secara otomatis akan mengembalikan tiga nilai secara berurutan :
- name dengan tipe data string
- age dengan tipe data int
- isMarried dengan tipe data bool
2. Memanggil Fungsi getProfile()
name, age, isMarried := getProfile()
fmt.Println("Name:", name)
fmt.Println("Age:", age)
fmt.Println("isMarried:", isMarried)
Di atas adalah cara pemanggilan fungsi yang memiliki lebih dari satu kembalian nilai. Hasil keluaran akan menampilkan nilai-nilai yang di kembalikan oleh fungsi getProfile()
3. Mengabaikan Nilai Menggunakan Tanda _
Terdapat kondisi tertentu, anda tidak mungkin memerlukan semua nilai yang di kembalikan oleh sebuah fungsi. Bisa di lihat pada contoh fungsi getWebsite() yang mengembalikan tiga nilai, akan tetapi kita hanya membutuhkan dua nilai. Oleh karena itu, kita menggunakan tanda _ agar nilai kedua dalam fungsi getWebsite() dapat di abaikan.
github, _, gitlab := getWebsite()
fmt.Println("GitHub:", github)
fmt.Println("GitLab:", gitlab)
Fungsi getWebsite mengembalikan 3 nilai yaitu "Github", "BitBucket", "Gitlab". Namun hanya nilai pertama (Github) dan ketiga (Gitlab) yang akan di tampilkan pada program.
4. Named Return pada Fungsi getWebsite()
Fungsi getWebsite mendefinisikan tiga nilai yang akan di kembalikan, yaitu facebook, instagram, dan twitter.
func getWebsite() (facebook, instagram, twitter string)
Kemudian di dalam fungsi tersebut terdapat kode untuk menuliskan masing masing nilai yang akan di kembalikan
facebook = "facebook.com"
instagram = "instagram.com"
twitter = "twitter.com"
return
Karena sudah menggunakan named return value, jadi tidak perlu lagi menyebutkan variable tersebut setelah kode return. Cukup menuliskan return, maka si golang akan mengembalikan ke tiga nilai yang telah di inisialisasi.
Kesimpulan
Terus belajar dan tingkatkan kemampuan skill programming anda yaaa. Terima Kasih
Selanjutnya anda bisa lanjut pada module :
Test
Posting Komentar