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 diberikanPernyataan 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.
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
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator Bagian 1
Operator AritmetikaOperator ModuloPenugasan GabunganUlasan: Matematika SederhanaOperator Perbandingan7I/O Dasar
Fungsi printInterpolasi stringInput ReadLineKonversi tipe dataRangkuman: Sampai 120Rangkuman: Benar atau Salah10Fungsi
Deklarasikan FungsiParameter dan ArgumenNilai KembalianLabel ArgumenUlasan: Fungsi SigmaUlasan: Fungsi ValidasiNilai Default13Melakukan Perulangan pada Urutan
Melakukan Perulangan pada ElemenMetode EnumerasiMelakukan Perulangan pada String P1Melakukan Perulangan pada String P22Variabel
let vs varAnotasi TipeBilanganstringBooleanKonvensi PenamaanRingkasan: Inisialisasi Variabel5Operator Bagian 2
Operator Logika Bagian 1Operator Logika Bagian 2Ulasan: Logika SederhanaOperator Logika Bagian 3Operator Ternary8Kalkulator Pembagi Tagihan
Pesan SambutanMendapatkan Input11FizzBuzz dengan Variasi
Gambaran Umum PermainanFungsi FizzBuzz3Optional
Apa Itu OptionalMembuka Optional dengan If LetGuard LetOperator Nil CoalescingUlasan: Membuka Optional dengan Aman6Pengambilan Keputusan
Pernyataan IfIf - ElseRekap: Kalkulator SederhanaPernyataan SwitchSwitch dengan Rentang9Perulangan
For-In LoopWhile LoopRepeat-While LoopBreakContinueRingkasan: FaktorialRentang dalam LoopLoop BersarangRingkasan: Input DinamisLatihan sendiri: Playground Swift