Menu
CoddyTech

Guard Let

Termasuk bagian Dasar-Dasar dalam perjalanan Swift di Coddy. Pelajaran 13 dari 86.

Jika if let membuka bungkus nilai opsional dan menjalankan kode saat nilainya tersedia, guard let menggunakan pendekatan sebaliknya. Kode akan keluar lebih awal saat nilai tidak tersedia. Ini sangat berguna di dalam fungsi ketika kamu ingin menangani kasus "buruk" terlebih dahulu dan menjaga logika utama tetap rapi.

func greet(name: String?) {
    guard let unwrappedName = name else {
        print("No name provided")
        return
    }
    print("Hello, \(unwrappedName)!")
}

greet(name: "Taylor") // Halo, Taylor!
greet(name: nil)      // Tidak ada nama yang diberikan

Pernyataan guard let memeriksa apakah name memiliki nilai. Jika tidak, blok else dijalankan dan fungsi keluar dengan return. Jika optional berisi nilai, nilainya di-unwrapped ke dalam unwrappedName. Inilah perbedaan utama dari if let: variabel yang sudah di-unwrapped tetap tersedia untuk sisa fungsi, bukan hanya di dalam blok.

Pola "keluar lebih awal" ini membuat kodemu mudah dibaca dengan menangani kasus error sejak awal, sehingga logika utama tidak berada di dalam beberapa pernyataan if yang bersarang.

challenge icon

Tantangan

Mudah
tulis sebuah fungsi validateAge yang menerima parameter age opsional dan menggunakan guard let untuk membuka nilainya dengan aman.

Jika usia bernilai nil, kembalikan "Invalid age". Jika tidak, kembalikan "Age: [value]" dengan usia yang sudah dibuka nilainya.

Parameter:

  • age (Int?): bilangan bulat opsional yang mewakili usia seseorang

Nilai yang dikembalikan: Sebuah string, yaitu "Invalid age" jika input bernilai nil, atau "Age: [value]" dengan nilai yang sudah dibuka.

Contoh: Jika age bernilai 25, kembalikan "Age: 25". Jika age bernilai nil, kembalikan "Invalid age".

Coba sendiri

func validateAge(age: Int?) -> String {
    // Tulis kodemu di sini
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Playground Swift