面试题答案
一键面试import Foundation
func encryptString(_ string: String?) -> String? {
guard let unwrappedString = string else {
return nil
}
let data = unwrappedString.data(using:.utf8)
return data?.base64EncodedString()
}
// 测试
let optionalString: String? = "Hello, World!"
if let encryptedString = encryptString(optionalString) {
print("加密后的字符串: \(encryptedString)")
} else {
print("原字符串为nil,无法加密")
}
在安全编程中处理可选类型如此重要,原因如下:
- 避免空指针异常:在许多编程语言中,对空指针进行操作会导致程序崩溃。Swift 通过引入可选类型,强迫开发者在使用可能为 nil 的值之前进行检查,从而有效避免这种崩溃。
- 提高代码健壮性:显式处理可选类型,使代码对各种可能的输入情况都有相应的处理逻辑,增强了代码在面对不同输入时的稳定性和可靠性。
- 代码可读性和可维护性:通过明确标记可能为 nil 的值,其他开发者在阅读和维护代码时能更容易理解哪些值可能为空,以及应该如何处理这种情况。