Swift Academy · Pelajaran

Merangkai Nilai Cadangan

Gabungkan beberapa nilai cadangan dengan rapi.

Pelajaran 2 dari 413 langkah

Merangkai Nilai Cadangan 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.

Lebih dari Satu Fallback

Terkadang Anda memiliki beberapa sumber opsional dan menginginkan nilai pertama yang tidak kosong. Anda dapat merangkai beberapa operator ??.

let primary: String? = nil
let secondary: String? = "Backup"
let name = primary ?? secondary ?? "Default"
print(name)

Cara Membaca Perangkaian

Bacalah a ?? b ?? c sebagai: gunakan a jika tidak kosong, jika tidak gunakan b, dan jika tetap tidak ada gunakan c. Evaluasi berhenti pada nilai pertama yang ditemukan.

let a: Int? = nil
let b: Int? = nil
let c = 7
print(a ?? b ?? c)

Nilai Pertama yang Tidak Kosong Menang

Begitu sebuah opsi menyediakan nilai, opsi-opsi lainnya diabaikan. Dalam contoh ini, secondary digunakan sehingga nilai bawaan terakhir tidak pernah dicapai.

let primary: Int? = nil
let secondary: Int? = 50
let fallback = 0
print(primary ?? secondary ?? fallback)

Semua Opsional hingga yang Terakhir

Dalam sebuah rangkaian, setiap operan kecuali yang terakhir biasanya bersifat opsional. Operan terakhir adalah nilai bawaan nonopsional yang terjamin tersedia.

let nick: String? = nil
let full: String? = nil
let result: String = nick ?? full ?? "Anonymous"
print(result)

Evaluasi Hubung Singkat

Seperti && dan ||, rangkaian ?? menggunakan evaluasi hubung singkat. Setelah sebuah nilai ditemukan, ekspresi-ekspresi berikutnya tidak dievaluasi.

func makeDefault() -> Int {
    print("default computed")
    return 0
}
let found: Int? = 9
print(found ?? makeDefault())

Asosiativitas ke Kanan

Operator ?? bersifat asosiatif ke kanan, sehingga a ?? b ?? c dikelompokkan sebagai a ?? (b ?? c). Perilaku ini tepat untuk menyediakan fallback.

let x: Int? = nil
let y: Int? = nil
let z: Int? = 3
print(x ?? (y ?? (z ?? 0)))

Nilai Bawaan Konfigurasi Berlapis

Perangkaian sangat berguna untuk konfigurasi berlapis: pengaturan pengguna, lalu pengaturan aplikasi, kemudian nilai bawaan yang ditetapkan langsung dalam kode.

let userTheme: String? = nil
let appTheme: String? = "light"
let theme = userTheme ?? appTheme ?? "system"
print(theme)

Menggabungkan dengan Konversi

Anda dapat merangkai konversi yang dapat gagal dengan nilai bawaan terakhir untuk mengurai masukan secara andal.

let raw: String? = nil
let parsed = raw.flatMap { Int($0) } ?? 0
print(parsed)

Pencarian Kamus dalam Rangkaian

Beberapa pencarian kamus dapat dirangkai sehingga kunci pertama yang tersedia digunakan.

let prefs = ["color": "blue"]
let pick = prefs["accent"] ?? prefs["color"] ?? "gray"
print(pick)

Menjaga Rangkaian Tetap Singkat

Dua atau tiga fallback masih mudah dibaca. Jika Anda mulai merangkai terlalu banyak fallback, pertimbangkan untuk memindahkan logikanya ke dalam fungsi agar lebih jelas.

let one: String? = nil
let two: String? = nil
let three = "C"
print(one ?? two ?? three)

Tipe Hasil Rangkaian

Hasil akhir rangkaian bersifat nonopsional selama operan terakhirnya nonopsional. Dengan demikian, nilai tersebut aman untuk langsung digunakan.

let v1: Int? = nil
let v2: Int? = 4
let total: Int = (v1 ?? v2 ?? 0) + 1
print(total)

Pemeriksaan Singkat

Uji rangkaian fallback.

Rangkuman: Merangkai Nilai Bawaan

Rangkaikan operator ?? untuk mencoba beberapa nilai opsional secara berurutan dan menggunakan fallback terakhir. Nilai pertama yang tidak kosong akan digunakan, evaluasi berhenti lebih awal, dan hasilnya bersifat nonopsional.

let p: String? = nil
let s: String? = "ok"
print(p ?? s ?? "none")
Gratis untuk memulai

Belajar Swift dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
122
Pelajaran
409

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Merangkai Nilai Cadangan” gratis?

Ya — teks lengkap “Merangkai Nilai Cadangan” 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 “Merangkai Nilai Cadangan”?

Gabungkan beberapa nilai cadangan dengan rapi. 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 “Merangkai Nilai Cadangan” 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. Operator Penggabungan Nilai Nil
  2. Merangkai Nilai Cadangan
  3. Nilai Bawaan pada Parameter Fungsi
  4. Subskrip Bawaan Dictionary
← Kembali ke Swift Academy