Mengenal Variadic Function Di Golang
Selesaikan semua tantangan terlebih dahulu pada module di atas. Setelah itu mari kita lanjutkan pembelajaran golang di Golang Tahap 4.
Module pertama yang akan kita pelajari pada golang tahap 4 yaitu mengenal variadic function. Nah, variadic function ini adalah salah satu fitur unggulan yang ada di bahasa pemerograman golang yang dapat memungkinkan kita untuk menerima sebuah parameter dalam jumlah tidak terbatas.
Apa itu Variadic Function
Variadic function adalah sebuah fungsi yang memungkinkan kita untuk memberikan parameter dalam bentuk variable argument ( var args ). Dengan menggunakan fitur ini ( variadic function ), anda dapat memberikan sejumlah inputan tanpa perlu membuat array atau slice terlebih dahulu.
func sumNumbers(numbers ...int) int {
// Function logic
}
Di atas adalah contoh pendefinisian variadic function. Hanya menambahkan tiga titik sebelum tipe data parameter.
Contoh Implementasi
Berikut adalah contoh implementasi kode variadic function :
package main
import "fmt"
func main() {
// Memanggil variadic function
numbers := sumNumbers(10, 5, 5, 10)
fmt.Println(numbers)
theNames("Budi", "Ninj4", "Arkham")
theNamesAndProgrammingLenguange("Golang", "Rush", "Java", "Dart")
fmt.Println()
// Mengirim slice ke variadic function
theNumbers := []int{12, 12, 12}
total := sumNumbers(theNumbers...)
fmt.Println(total)
}
Bisa di lihat pada kode di atas, ada beberapa contoh variadic function yang akan kami jelaskan secara rinci di bawah ini :
Fungsi setNumbers()
func sumNumbers(numbers ...int) int {
total := 0
for _, number := range numbers {
total += number
}
return total
}
Terlihat kode fungsi variadic setNumbers di atas menerima sejumlah parameter int yang akan menghitung total dari semua bilangan yang di terima. Kenapa seperti itu ? karena variable numbers merupakan variable argument sehingga kita dapat menambahkan sejumlah nilai int pada saat pemanggilan fungsi setNumbers di main function.
Fungsi theNames()
func theNames(names ...string) {
for i := 0; i < len(names); i++ {
fmt.Println(names[i])
}
}
Pada fungsi theNames() menerima sejumlah argument nama dalam bentuk string, yang kemudian ketika fungsi ini di panggil, maka nama tersebut akan di cetak satu persatu. Anda dapat mengirimkan beberapa nama sekaligus pada fungsi ini tanpa harus membuat array atau slice terlebih dahulu.
Fungsi theNamesAndProgrammingLenguange()
func theNamesAndProgrammingLenguange(name string, lengunges ...string) {
fmt.Println("Your name,", name)
fmt.Print("Your lenguange: ")
for _, lenguange := range lengunges {
fmt.Print(lenguange, ",")
}
}
Untuk membuat variadic function yang dapat menerima argument, harus berada pada parameter terakhir dalam daftar parameter. Terlihat jelas kode di atas variable name adalah parameter pertama dan lenguanges adalah variadic parameter.
Mengirim Slice ke Fungsi Variadic
Jika anda memiliki sebuah slice dan ingin mengirimkannya ke dalam parameter variadic function, anda bisa menggunakan notasi ... setelah nama slice. Berikut adalah contoh kode nya :
theNumbers := []int{12, 12, 12}
total := sumNumbers(theNumbers...)
fmt.Println(total)
Ini memungkinkan anda dapat mengirimkan variable slice tanpa harus memasukkan satu persatu nilai argumentnya di dalam parameter.
Kesimpulan
Selanjutnya anda bisa lanjut ke Module :
Posting Komentar