0Pricing
Swift Academy · Pelajaran

Parameter In-Out dan Beberapa Nilai Kembalian

Ubah argumen dengan inout dan kembalikan beberapa nilai melalui tuple.

Parameter In-Out dan Beberapa Nilai Kembalian adalah pelajaran Swift Academy gratis di CoddyKit. Ini adalah pelajaran 3 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

Fungsi Swift biasanya bekerja dengan salinan nilai. Parameter `inout` memungkinkan fungsi mengubah variabel milik pemanggil secara langsung. Tuple memungkinkan fungsi mengembalikan beberapa nilai sekaligus.

Kata Kunci inout

Tandai parameter sebagai `inout` untuk mengubah nilai asli: ```swift func doubleInPlace(_ value: inout Int) { value *= 2 } var x = 5 doubleInPlace(&x) print(x) // 10 ``` Awalan `&` di lokasi pemanggilan menandakan bahwa variabel tersebut mungkin diubah.

inout dengan Struktur

```swift struct Point { var x: Double; var y: Double } func translate(_ p: inout Point, dx: Double, dy: Double) { p.x += dx p.y += dy } var origin = Point(x: 0, y: 0) translate(&origin, dx: 3.0, dy: 4.0) // origin is now (3.0, 4.0) ```

Batasan inout

• Konstanta (`let`) tidak dapat diteruskan sebagai `inout` • Literal tidak dapat diteruskan sebagai `inout` • Subskrip dan properti terhitung dapat digunakan sebagai `inout` jika memiliki penyetel ```swift let c = 5 doubleInPlace(&c) // ❌ cannot pass let as inout ```

Mengembalikan Beberapa Nilai dengan Tuple

Kembalikan beberapa nilai dengan membungkusnya dalam tuple: ```swift func minMax(of array: [Int]) -> (min: Int, max: Int) { (array.min()!, array.max()!) } let result = minMax(of: [3, 1, 7, 2]) print(result.min, result.max) // 1 7 ```

Elemen Tuple Bernama dan Tanpa Nama

Elemen bernama membuat tuple dapat menjelaskan dirinya sendiri: ```swift let named: (width: Int, height: Int) = (1920, 1080) print(named.width) // 1920 let unnamed = (1920, 1080) print(unnamed.0) // 1920 ``` Utamakan nama untuk tuple yang dikembalikan dari fungsi.

Destrukturisasi Pengembalian Tupel

Bongkar pengembalian tupel menjadi beberapa variabel: ```swift let (minimum, maximum) = minMax(of: [5, 3, 8]) print(minimum) // 3 print(maximum) // 8 ``` Gunakan `_` untuk membuang elemen yang tidak diperlukan: `let (minimum, _) = minMax(of: arr)`.

Pengembalian Tupel Opsional

Kembalikan nil untuk kasus kegagalan: ```swift func parse(_ s: String) -> (Int, Int)? { let parts = s.split(separator: ",") guard parts.count == 2, let a = Int(parts[0]), let b = Int(parts[1]) else { return nil } return (a, b) } ```

Menukar dengan inout

Penukaran klasik menggunakan inout: ```swift func swap(_ a: inout T, _ b: inout T) { let temp = a a = b b = temp } var m = 1, n = 2 swap(&m, &n) print(m, n) // 2 1 ``` Pustaka standar Swift sudah menyediakan `swap(_:_:)`—Anda tidak perlu menulisnya sendiri.

Kapan Menggunakan inout atau Pengembalian

Utamakan mengembalikan nilai baru daripada mengubah nilai melalui inout: ```swift // Prefer: func normalised(_ v: SIMD3) -> SIMD3 { v / v.magnitude } // Use inout only when mutation is expected API contract, e.g. algorithms on large arrays func sort(_ arr: inout [Int]) { arr.sort() } ```

Pemeriksaan Singkat

Awalan apa yang diperlukan di lokasi pemanggilan saat meneruskan variabel ke parameter `inout`?

Rangkuman

Hal-hal penting: • `inout` memungkinkan fungsi mengubah variabel milik pemanggil; teruskan dengan `&` • Konstanta `let` atau literal tidak dapat diteruskan sebagai inout • Tupel mengembalikan beberapa nilai dengan rapi; beri nama pada elemennya agar lebih jelas • Destrukturisasi tupel: `let (a, b) = f()` • Utamakan pengembalian nilai baru; gunakan inout hanya jika perubahan merupakan kontrak antarmuka pemrograman Berikutnya: fungsi sebagai nilai kelas satu.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Parameter In-Out dan Beberapa Nilai Kembalian” gratis?

Ya — teks lengkap “Parameter In-Out dan Beberapa Nilai Kembalian” 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 In-Out dan Beberapa Nilai Kembalian”?

Ubah argumen dengan inout dan kembalikan beberapa nilai melalui tuple. 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 3 dari 4.

Berapa lama pelajaran “Parameter In-Out dan Beberapa Nilai Kembalian” 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