Tôi hoàn toàn viết lại câu trả lời của mình ( một lần nữa ). Lần này là vì tôi đã trở thành một người hâm mộ của guard
tuyên bố và trở lại sớm . Nó làm cho mã sạch hơn nhiều.
Chuỗi không tùy chọn
Kiểm tra độ dài bằng không.
let myString: String = ""
if myString.isEmpty {
print("String is empty.")
return // or break, continue, throw
}
// myString is not empty (if this point is reached)
print(myString)
Nếu if
câu lệnh đi qua, thì bạn có thể sử dụng chuỗi một cách an toàn khi biết rằng nó không trống. Nếu nó trống thì hàm sẽ quay lại sớm và không có gì sau khi nó quan trọng.
Chuỗi tùy chọn
Kiểm tra độ dài bằng không hoặc bằng không.
let myOptionalString: String? = nil
guard let myString = myOptionalString, !myString.isEmpty else {
print("String is nil or empty.")
return // or break, continue, throw
}
// myString is neither nil nor empty (if this point is reached)
print(myString)
Điều này hủy bỏ tùy chọn và kiểm tra rằng nó không trống cùng một lúc. Sau khi vượt qua guard
câu lệnh, bạn có thể sử dụng chuỗi nonempty chưa mở của mình một cách an toàn.