【发布时间】:2023-04-04 20:12:01
【问题描述】:
我在一个简单的计算器应用程序中遇到了这些代码行。
func processOperation (operation: Operation) {
if currentOperation != Operation.Empty {
if runningNumber != "" {
rightValStr = runningNumber
runningNumber = ""
if currentOperation == Operation.Multiply {
result = "\(Double(leftValStr)! * Double(rightValStr)!)"
} else if currentOperation == Operation.Divide {
result = "\(Double(leftValStr)! / Double(rightValStr)!)"
} else if currentOperation == Operation.Subtract {
result = "\(Double(leftValStr)! - Double(rightValStr)!)"
} else if currentOperation == Operation.Add {
result = "\(Double(leftValStr)! + Double(rightValStr)!)"
}
leftValStr 被声明为var leftValStr = ""
rightValStr 也被声明为var rightValStr =""
我想知道使用“!”的目的是什么在\(Double(leftValStr)! / Double(rightValStr)!) 是为了什么?
据我所知,“!”用于展开可选。这里的 leftValStr 和 rightValStr 没有声明为 Optional 那么为什么我们必须解开它们呢?
【问题讨论】: