Function Return Value
Sebuah function dapat mengembalikan data. Data ini kemudian dapat kita gunakan kembali Kepada proses yang lainnya. Sebagai Teladan, ketika kita Membikin sebuah function yang melakukan operasi penjumlahan dan Ingin menggunakan hasil dari penjumlahan Kepada operasi yang lain di luar function, kita Dapat menggunakan return value pada function.
Kepada Membikin function yang mengembalikan data, kita harus menentukan tipe data yang dikembalikan Begitu mendeklarasikan function. Function yang dideklarasikan dengan tipe data kembalian wajib mengembalikan data. Kepada mengembalikan data, kita Dapat menggunakan keyword return
Lampau diikuti dengan data yang dikembalikan.
Perhatikan Teladan kode berikut ini.
package main
import "fmt"
func sum(value1 float32, value2 float32) float32 {
return value1 + value2
}
func main() {
result := sum(10, 10)
fmt.Println("Hasil:", result)
}
output:
Pada Teladan di atas kita mendeklarasikan function bernama sum dengan dua parameter dan mengembalikan data dengan tipe float32. Di dalamnya, dengan keyword return kita mengembalikan hasil penjumlahan value1 dan value2. Dalam function main, kita memanggil function sum Kepada menjumlahkan nilai 10 dan 10. Hasil kembalian dari function kita simpan dalam variabel result, dan terakhir kita tampilkan menggunakan Println.
Kita juga dapat menggunakan keyword return Kepada mengembalikan data yang berbeda sesuai dengan pengkondisian.
package main
import "fmt"
func isMarried(married bool) string {
if married {
return "Sudah nikah"
} else {
return "Belum nikah"
}
}
func main() {
isMarried := isMarried(false)
fmt.Println(isMarried)
}
output:
Perlu Engkau ketahui, kode apapun yang ditulis sejajar setelah keyword return Tak akan dieksekusi dan hanya akan menghasilkan error di kode kita. Oleh karena itu, keyword return diletakkan di bagian akhir operasi pada function.
Return Multiple
Di golang, function dapat mengembalikan lebih dari satu data, Berkualitas itu dengan tipe data yang sama atau yang berbeda. Kepada mengembalikan lebih dari satu data, kita harus menuliskan Segala tipe data kembaliannya ketika mendeklarasikan function dibungkus menggunakan tanda kurung, dan memisahkan data yang dikembalikan dengan koma pada keyword return.
Perhatikan Teladan kode berikut.
package main
import "fmt"
func rectangle(sideLength float32) (float32, float32) {
area := sideLength * sideLength
perimeter := sideLength * 4
return area, perimeter
}
func main() {
area, perimeter := rectangle(3)
fmt.Println("Luas Persegi:", area)
fmt.Println("Keliling Persegi:", perimeter)
}
putput:
Luas Persegi: 9
Keliling Persegi: 12
Pada Teladan diatas kita mendeklarasikan function yang digunakan Kepada menghitung luas dan keliling persegi. Kepada mengambil data kembaliannya, dalam function main kita Membikin dua variabel Merukapan area dan perimeter dipisah dengan koma. Urutan variabel harus sesuai dengan urutan data yang dikembalikan oleh function.
Seperti yang kita ketahui, di golang kita Tak diperbolehkan Kepada mendeklarasikan variabel yang Tak kita gunakan. Lampau bagaimana Apabila kita hanya Ingin menggunakan salah satu data kembaliannya saja. Misal hanya mengambil hasil keliling?
Kepada mengabaikan data kembalian yang Tak diinginkan kita cukup mengganti variabel dengan underscore (_). Perhatikan potongan kode berikut ini.
func main() {
_, perimeter := rectangle(3)
fmt.Println("Keliling Persegi:", perimeter)
}
Named Return Value
Menurut saya ini adalah fitur Spesial yang dimiliki golang, dimana Dapat menamai data kembalian dari sebuah function. Kepada menamai data kembalian, kita Dapat menuliskan namanya kemudian diikuti dengan tipe datanya. Sebenarnya ini terlihat seperti mendeklarasikan variabel ketika mendeklarasikan function.
Berikut ini Teladan kode menghitung luas dan keliling persegi yang sudah dirubah menjadi menggunakan named return value.
package main
import "fmt"
func rectangle(sideLength float32) (area float32, perimeter float32) {
area = sideLength * sideLength
perimeter = sideLength * 4
return
}
func main() {
area, perimeter := rectangle(3)
fmt.Println("Luas Persegi:", area)
fmt.Println("Keliling Persegi:", perimeter)
}
putput:
Luas Persegi: 9
Keliling Persegi: 12
Ketika menggunakan named return value, kita Tak wajib menuliskan datanya ketika memanggil keyword return. Selain itu, nama data yang ditulis ketika dekarasi function bertindak sebagai variabel pada umumnya, sehingga kita Tak Dapat mendeklarasikan variabel dengan nama yang sama seperti nama data yang dikembalikan. Hal inilah yang menyebabkan kita mengganti :=
menjadi =
dalam function rectangle.
Kepada mengabaikan data kembalian, kita Dapat mengganti nama variabel menjadi underscore (_) sama seperti sebelumnya.
func main() {
_, perimeter := rectangle(3)
fmt.Println("Keliling Persegi:", perimeter)
}
Berikutnya: #23: Variadic Function