尽可能避免使用 Any 类型进行类型不明确的操作符赋值,而是显式地定义变量或使用泛型。例如,在以下代码示例中,我们定义了一个泛型函数 safelyGetVal,它可以接受任何类型的输入参数,但返回类型必须与输入类型相同,从而避免了不安全的任意值类型操作符赋值:
func safelyGetVal(val1: T?, val2: T?) -> T? {
// 如果 val1 不为 nil,则返回 val1,否则返回 val2
return val1 != nil ? val1 : val2
}
let str1: String? = "Hello"
let str2: String? = nil
let result1 = safelyGetVal(val1: str1, val2: str2) // 返回 "Hello"
let result2 = safelyGetVal(val1: str2, val2: str1) // 返回 "Hello"
上一篇:按y值分组着色的分类散点图
下一篇:按长度对argv中的单词进行排序