Closure di Swift
Penjelasan
Closure adalah blok kode mandiri yang bisa disimpan ke variabel atau dilewatkan sebagai argumen fungsi lain, mirip arrow function di JavaScript atau lambda di Kotlin. Closure di Swift sangat sering dipakai lewat trailing closure syntax — kalau parameter terakhir sebuah fungsi berupa closure, closure itu bisa ditulis di LUAR tanda kurung fungsi supaya lebih rapi dibaca.
Contoh Konsep
let kalikanDua = { (angka: Int) -> Int in
return angka * 2
}
print(kalikanDua(5)) // 10
let angka = [1, 2, 3]
let hasil = angka.map { n in n * 10 } // trailing closure syntax
print(hasil) // [10, 20, 30]
Praktikum
Buat closure hitungPajak yang menerima Int dan mengembalikan Int (harga + harga/10). Panggil dengan angka 100, lalu tampilkan hasilnya.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Swift bisa menyimpulkan tipe parameter closure dari konteksnya (mis. saat dipakai di map()), jadi kamu sering tidak perlu menulis tipe data secara eksplisit — angka.map { n in n * 10 } sudah cukup tanpa perlu (n: Int) -> Int.