0Pricing
Swift Academy · Pelajaran

guard let untuk Keluar Lebih Awal

Buka nilai opsional dan keluar lebih awal saat gagal untuk mengurangi penyarangan.

guard let untuk Keluar Lebih Awal 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.

Gagasan tentang guard

guard memeriksa suatu kondisi dan, jika kondisi tersebut gagal, keluar dari cakupan saat ini. Fitur ini dirancang untuk keluar lebih awal sehingga alur utama tetap tidak perlu menjorok ke dalam.

func greet(_ name: String?) {
    guard let name else {
        print("No name")
        return
    }
    print("Hello, \(name)")
}
greet("Ada")
greet(nil)

Sintaks guard let

Tulislah guard let value = optional else { return }. Berbeda dari if let, nilai yang sudah dibuka tetap berada dalam cakupan setelah guard.

func double(_ text: String) {
    guard let n = Int(text) else {
        print("Not a number")
        return
    }
    print(n * 2)
}
double("8")
double("x")

Nilai Tetap Tersedia

Karena guard keluar ketika terjadi kegagalan, kompiler mengetahui bahwa nilai tersebut tersedia setelahnya. Anda dapat menggunakannya seperti biasa di sisa fungsi.

func length(of text: String?) {
    guard let text else { return }
    let count = text.count
    print(count)
}
length("hello")

Blok else Harus Keluar

Blok else dari guard harus keluar dari cakupan saat ini: return, break, continue, atau throw. Hal ini diberlakukan oleh kompilator.

func process(_ value: Int?) {
    guard let value else {
        return
    }
    print("Processing \(value)")
}
process(99)

Penulisan Singkat guard let

Seperti if let, guard mendukung penulisan singkat: guard let name else { ... } ketika nama-namanya sama.

func show(_ name: String?) {
    guard let name else {
        print("missing")
        return
    }
    print(name)
}
show("Kai")

Alur Sukses yang Datar

Keunggulan utama guard adalah alur sukses yang datar dan mudah dibaca. Bandingkan piramida if let bertingkat dengan rangkaian guard.

func register(name: String?, age: Int?) {
    guard let name else { return }
    guard let age else { return }
    print("\(name) is \(age)")
}
register(name: "Mia", age: 28)

Menjaga Kondisi Biasa

Guard dapat digunakan dengan kondisi Boolean apa pun, bukan hanya opsional. guard count > 0 else { return } keluar lebih awal.

func divide(_ a: Int, by b: Int) {
    guard b != 0 else {
        print("Cannot divide by zero")
        return
    }
    print(a / b)
}
divide(10, by: 2)
divide(10, by: 0)

Guard dalam Perulangan

Di dalam perulangan, guard dapat menggunakan continue untuk melewati satu iterasi ketika data tidak tersedia.

let inputs = ["1", "x", "3"]
for item in inputs {
    guard let n = Int(item) else { continue }
    print(n * 10)
}

Beberapa Pengikatan dalam Satu guard

Satu guard dapat membuka beberapa nilai opsional yang dipisahkan dengan koma. Semuanya harus berhasil agar proses dapat dilanjutkan.

func combine(_ a: String?, _ b: String?) {
    guard let a, let b else { return }
    print(a + b)
}
combine("foo", "bar")

guard dengan Pemeriksaan seperti where

Anda dapat menambahkan kondisi Boolean setelah pengikatan dengan koma untuk mempersempit kapan guard berhasil.

func validate(_ text: String?) {
    guard let text, !text.isEmpty else {
        print("invalid")
        return
    }
    print("ok: \(text)")
}
validate("")
validate("hi")

Kapan Memilih guard

Gunakan guard untuk prasyarat di bagian atas fungsi, dan if let ketika Anda hanya memerlukan nilainya sebentar di dalam suatu cabang.

func area(width: Int?, height: Int?) -> Int {
    guard let width, let height else { return 0 }
    return width * height
}
print(area(width: 3, height: 4))

Pemeriksaan Singkat

Uji guard let.

Ringkasan: guard let untuk Keluar Lebih Awal

guard let value else { return } membuka nilai opsional dan mempertahankan nilai tersebut dalam cakupan setelahnya. Blok else-nya harus keluar, sehingga alur sukses tetap datar dan mudah dibaca.

func f(_ x: Int?) {
    guard let x else { return }
    print(x)
}
f(5)

Pertanyaan yang Sering Diajukan

Apakah pelajaran “guard let untuk Keluar Lebih Awal” gratis?

Ya — teks lengkap “guard let untuk Keluar Lebih Awal” 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 “guard let untuk Keluar Lebih Awal”?

Buka nilai opsional dan keluar lebih awal saat gagal untuk mengurangi penyarangan. 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 “guard let untuk Keluar Lebih Awal” 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. if let dan Pengikatan Singkat
  2. guard let untuk Keluar Lebih Awal
  3. Mengikat Beberapa Nilai Opsional
  4. Pola Opsional dalam switch dan for
← Kembali ke Swift Academy