可以使用局部函数或使用 guard 语句来避免嵌套的 let 语句。以下是两个示例:
func calculateAverage(_ values: [Int]) -> Double {
// 嵌套的 let 语句
let sum = values.reduce(0, +)
let count = values.count
// 重构成局部函数
func average(_ sum: Int, _ count: Int) -> Double {
guard count > 0 else { return 0 }
return Double(sum) / Double(count)
}
return average(sum, count)
}
func calculateAverage(_ values: [Int]) -> Double {
// 嵌套的 let 语句
let sum = values.reduce(0, +)
let count = values.count
// 使用 guard 语句避免嵌套的 let 语句
guard count > 0 else { return 0 }
let average = Double(sum) / Double(count)
return average
}