Merangkai Nilai Cadangan
Gabungkan beberapa nilai cadangan dengan rapi.
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")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
- Operator Penggabungan Nilai Nil
- Merangkai Nilai Cadangan
- Nilai Bawaan pada Parameter Fungsi
- Subskrip Bawaan Dictionary