Swift Academy · Pelajaran

Merangkai Nilai Lalaian

Gabungkan beberapa nilai lalai dengan kemas.

Pelajaran 2 daripada 413 langkah

Merangkai Nilai Lalaian ialah pelajaran Swift Academy percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Swift Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Swift Academy merangkumi sejumlah 4 pelajaran.

Lebih daripada Satu fallback

Kadang-kadang anda mempunyai beberapa sumber nilai pilihan dan mahu menggunakan nilai pertama yang bukan nil. Anda boleh merangkaikan beberapa operator ??.

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

Cara Membaca Rangkaian

Baca a ?? b ?? c sebagai: gunakan a jika bukan nil, jika tidak gunakan b, dan jika masih tidak ada gunakan c. Penilaian berhenti pada nilai pertama yang ditemui.

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

Nilai Bukan nil Pertama Menang

Sebaik sahaja satu pilihan menyediakan nilai, pilihan yang selebihnya diabaikan. Di sini, secondary digunakan dan nilai lalai terakhir tidak pernah dicapai.

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

Semua Pilihan Kecuali yang Terakhir

Dalam satu rangkaian, setiap operan kecuali yang terakhir biasanya merupakan nilai pilihan. Operan terakhir ialah nilai lalai bukan pilihan yang dijamin ada.

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

Penilaian Litar Pintas

Seperti && dan ||, rangkaian ?? menggunakan penilaian litar pintas. Selepas satu nilai ditemui, ungkapan yang seterusnya tidak dinilai.

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

Kekaitan Kanan

Operator ?? mempunyai kekaitan kanan, jadi a ?? b ?? c dikumpulkan sebagai a ?? (b ?? c). Inilah tingkah laku yang diperlukan untuk nilai fallback.

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

Nilai Lalai Konfigurasi Berlapis

Perangkaian sangat berguna untuk konfigurasi berlapis: tetapan pengguna, kemudian tetapan aplikasi, kemudian nilai lalai yang ditetapkan terus dalam kod.

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

Menggabungkan dengan Penukaran

Anda boleh merangkaikan penukaran yang boleh gagal dengan nilai lalai terakhir untuk menghuraikan masukan dengan kukuh.

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

Carian Kamus dalam Rangkaian

Beberapa carian kamus boleh dirangkaikan supaya kunci pertama yang tersedia digunakan.

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

Pastikan Rangkaian Pendek

Dua atau tiga nilai fallback mudah dibaca. Jika anda mendapati diri anda merangkaikan terlalu banyak nilai, pertimbangkan untuk memindahkan logik itu ke dalam fungsi supaya lebih jelas.

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

Jenis Keputusan Rangkaian

Keputusan akhir sesuatu rangkaian ialah bukan pilihan selagi operan terakhir bukan pilihan. Ini menjadikan nilai tersebut selamat digunakan serta-merta.

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

Semakan Pantas

Uji rangkaian fallback.

Ulang Kaji: Merangkaikan Nilai Lalai

Rangkaikan operator ?? untuk mencuba beberapa nilai pilihan mengikut turutan dan menggunakan fallback terakhir. Nilai bukan nil pertama akan digunakan, penilaian menggunakan litar pintas dan keputusannya bukan pilihan.

let p: String? = nil
let s: String? = "ok"
print(p ?? s ?? "none")
Percuma untuk bermula

Pelajari Swift dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
122
Pelajaran
409

Soalan Lazim

Adakah pelajaran “Merangkai Nilai Lalaian” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Swift Academy, termasuk “Merangkai Nilai Lalaian”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Swift Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Merangkai Nilai Lalaian”?

Gabungkan beberapa nilai lalai dengan kemas. Anda berlatih Swift Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Swift Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Swift Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Merangkai Nilai Lalaian” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Swift Academy ini?

Ya. Setiap pelajaran Swift Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Operator Penggabungan Nilai Nil
  2. Merangkai Nilai Lalaian
  3. Nilai Lalai dalam Parameter Fungsi
  4. Subskrip Lalai Kamus
← Kembali ke Swift Academy