Last Updated on August 19, 2021 by
Ketika bekerja dengan bahasa pemrograman Swift, Anda mungkin akan menemukan di mana Anda perlu untuk memodifikasi variabel yang diteruskan sebagai argument ke suatu fungsi.
Oleh karena itu, semua variabel akhirnya diteruskan ke suatu fungsi. Variabel yang diteruskan ke fungsi ini disebut sebagai tipe yang tidak dapat diubah dan mirip dengan variabel let.
Jika itu adalah objek kelas, Anda tidak dapat membuat objek baru tetapi Anda dapat memanipulasi properti dari objek kelas tersebut atau Anda dapat memanggil fungsi apa pun dengan objek tersebut. Jika Anda tertarik dengan pembahasan Codekey kali ini, pastikan Anda membacanya sampai akhir.
Swift Inout dan Contohnya
Seperti yang sudah dijelaskan sebelumnya, ketika Anda meneruskan tipe nilai sebagai parameter ke dalam suatu fungsi, mereka adalah konstanta dan karenanya tidak dapat dimodifikasi. Terkadang akan lebih mudah untuk mengubah ini sehingga Anda dapat memodifikasi nilainya. Itulah fungsi dari inout.
Hal ini memungkinkan kami memodifikasi parameter di dalam suatu fungsi, dan membuat perubahan tersebut bertahan di luar fungsi. Misalnya, kita bisa menulis fungsi yang menerima angka dan menggandakannya:
func double(_ number: inout Int) { number *= 2 }
Swift inout tidak mengembalikan nilai, hal itu pun mengubah nilai yang diteruskan secara langsung. Ketika datang untuk memanggil fungsi dengan parameter inout, Swift memiliki dua aturan: kita harus memasukkan variabel dan kita juga perlu menggunakan dan sebelum nama parameter untuk mengakui bahwa itu mungkin diubah. Jadi, kita akan memanggil double() seperti ini:
var number = 5 double(&number) print(number)
Swift inout ini akan mencetak hasil 10.
Bagaimana Cara Menggunakan Swift Inout Parameter
Parameter suatu fungsi adalah konstanta secara default, tetapi kita dapat mengubahnya. Kita dapat menggunakan parameter masuk-keluar sebagai gantinya. Anda bisa menerapkan pola ini pada contoh yang kami tunjukkan sebelumnya.
Untuk menunjukkan bahwa suatu parameter adalah parameter inout, kami mengawali jenis parameter dengan kata Kompiler tidak lagi mengeluh bahwa buku bermutasi, tetapi menimbulkan kesalahan lain.
var books: [String] = [] func addTitle(_ title: String, to books: inout [String]) { books.append(title) } addTitle("Belajar Swift", to: books)
Kompiler tidak lagi mengeluh bahwa buku bermutasi, tetapi menimbulkan kesalahan lain.
Kompilator pun akan meminta Anda untuk secara eksplisit menunjukkan bahwa buku dilewatkan sebagai argumen ke parameter inout. Kami melakukan ini dengan mengawali nama variabel dengan ampersand (&).
var books: [String] = [] func addTitle(_ title: String, to books: inout [String]) { books.append(title) } addTitle("Belajar Swift", to: &books)
Contoh tersebut menunjukkan bahwa kita perlu secara eksplisit di situs panggilan bahwa parameter kedua dari fungsi addTitle(_:to:) adalah parameter inout. Ini penting untuk menunjukkan kepada siapa pun yang membaca kode bahwa buku dapat dimodifikasi oleh fungsi addTitle(_:to:).kunci inout.
Demikianlah penjelasan tentang Swift inout. Parameter inout lebih umum daripada yang mungkin Anda sadari. Misalnya, jika Anda menggunakan += untuk menambahkan satu string ke string lain, ia menggunakan inout untuk mengubah string di tempatnya.
Jika Anda tertarik untuk menjadi programmer Swift handal, pastikan Anda mengunjungi seri tutorial Swift di https://codekey.id/. Codekey adalah website media pembelajaran bahasa pemrograman online berbahasa Indonesia. Anda bisa belajar berbagai bahasa pemrograman dari Codekey secara gratis kapan saja dan di mana saja.
Codekey memberikan artikel yang berisikan penjelasan, tips, dan trik untuk berbagai bahasa pemrograman yang banyak digunakan oleh developer di seluruh dunia. Jangan lupa untuk allow notification dari Codekey, agar Anda tidak ketinggalan update artikel terbaru dari situs kami.
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.