0Pricing
Swift Academy · Pelajaran

Parameter Bawaan dan Variadik

Atur nilai bawaan dan terima jumlah argumen yang bervariasi.

Parameter Bawaan dan Variadik adalah pelajaran Swift Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Swift Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Swift Academy mencakup 4 pelajaran total.

Selamat Datang

Nilai parameter bawaan memungkinkan pemanggil menghilangkan argumen yang tidak perlu disesuaikan. Parameter variadik menerima sejumlah argumen. Keduanya mengurangi kode berulang dan meningkatkan API.

Nilai Bawaan Parameter

```swift func log(_ message: String, level: String = "INFO") { print("[\(level)] \(message)") } log("Server started") // [INFO] Server started log("Disk full", level: "ERROR") // [ERROR] Disk full ``` Nilai bawaan harus ditempatkan setelah parameter wajib.

Beberapa Nilai Bawaan

```swift func connect(host: String, port: Int = 443, useTLS: Bool = true) {} connect(host: "api.example.com") connect(host: "api.example.com", port: 8080) connect(host: "api.example.com", port: 80, useTLS: false) ``` Pemanggil dapat mengganti nilai bawaan pada sebagian parameter mana pun.

Parameter Variadik

Parameter variadik menerima nol atau lebih nilai dengan tipe yang sama: ```swift func sum(_ numbers: Int...) -> Int { numbers.reduce(0, +) } print(sum(1, 2, 3)) // 6 print(sum(10, 20, 30, 40)) // 100 ``` Di dalam fungsi, `numbers` adalah larik `[Int]`.

Hanya Satu Parameter Variadik per Fungsi

Swift hanya mengizinkan satu parameter variadik per fungsi (parameter tersebut tidak harus menjadi yang terakhir sejak Swift 5.4): ```swift func format(_ template: String, args: String...) -> String { var result = template for arg in args { result = result.replacingOccurrences(of: "%s", with: arg) } return result } ```

Menggabungkan Nilai Bawaan dan Variadik

```swift func build(separator: String = ", ", _ items: String...) -> String { items.joined(separator: separator) } build("apple", "banana", "cherry") // "apple, banana, cherry" build(separator: " | ", "one", "two", "three") // "one | two | three" ```

Meneruskan Larik ke Parameter Variadik

Anda tidak dapat meneruskan larik secara langsung ke parameter variadik: ```swift let nums = [1, 2, 3] // sum(nums) ❌ — won't compile ``` Sebarkan dengan `...` (penyebaran urutan di Swift 5.4+ belum tersedia secara bawaan; gunakan reduce/penyebaran sendiri): ```swift let total = nums.reduce(0, +) ```

Closure Bawaan

Nilai bawaan juga berlaku untuk parameter closure: ```swift func retry(count: Int = 3, action: () -> Bool) {} retry { fetchData() } // count defaults to 3 retry(count: 5) { fetchData() } ``` Sintaks closure di akhir tetap berlaku saat menggunakan nilai bawaan.

Mendokumentasikan Nilai Bawaan

Berikan komentar atau nama yang jelas untuk nilai bawaan agar pemanggil mengetahui apa yang diharapkan: ```swift /// Sends a request. Timeout defaults to 30 seconds. func send(request: URLRequest, timeout: TimeInterval = 30.0) {} ``` Dokumentasi yang baik mencegah pemanggil memberikan nilai bawaan secara eksplisit.

Pola Dunia Nyata: API seperti print

Fungsi standar `print` Swift sendiri bersifat variadik dan memiliki nilai bawaan: ```swift // Simplified signature: func print(_ items: Any..., separator: String = " ", terminator: String = "\n") print("a", "b", "c") // a b c print("x", "y", separator: "-") // x-y print("no newline", terminator: "") ```

Pemeriksaan Cepat

Di dalam fungsi, tipe apa yang dimiliki parameter variadik `Int...`?

Ringkasan

Poin-poin utama: • Nilai bawaan membuat parameter bersifat opsional di lokasi pemanggilan • Nilai bawaan harus mengikuti parameter wajib • Parameter variadik (`Type...`) menerima nol atau lebih nilai dan menjadi larik di dalam fungsi • Hanya boleh ada satu parameter variadik per fungsi • Gabungkan keduanya untuk membuat API yang fleksibel dan rapi Berikutnya: parameter in-out dan mengembalikan beberapa nilai.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Parameter Bawaan dan Variadik” gratis?

Ya — teks lengkap “Parameter Bawaan dan Variadik” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Swift Academy, upgrade ke CoddyKit PRO. Kursus Swift Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Parameter Bawaan dan Variadik”?

Atur nilai bawaan dan terima jumlah argumen yang bervariasi. Kamu berlatih Swift Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Swift Academy?

Tidak diperlukan pengalaman sebelumnya. Swift Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Parameter Bawaan dan Variadik” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Swift Academy ini?

Ya. Setiap pelajaran Swift Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Label Argumen dan Nama Parameter
  2. Parameter Bawaan dan Variadik
  3. Parameter In-Out dan Beberapa Nilai Kembalian
  4. Fungsi sebagai Nilai Kelas Utama
← Kembali ke Swift Academy