美文网首页
小知识点

小知识点

作者: 纳兰沫 | 来源:发表于2019-11-14 15:17 被阅读0次

    判断是否是小数

        let x = 4.2
       //floor 向下取整 判断是否相等 如果相等 就不是小数
        if floor(Double(x)) == Double(x) {
                
        }
    

    优化代码的方式

    1.使用计算属性来代替方法 以后其他的逻辑可在set get里面实现
    
           let x: String? = "8"
            var displayValue: Double{
                get {
                    guard let num = Double(x!) else {
                        fatalError("不能解包为数字")
                    }
                    return num
                }
                set {
                    print(newValue)
                }
            }
    

    对于方法来说,如果你需要返回值,而if判断没有else的时候 那么你的返回值可以是可选类型,同时return nil即可
    元祖比字典更好的是 可以存放不同类型的数据

    struct Calc {
        
        private var temp: (num1: Double, oper: String)?
        
        mutating func cacl(_ operate: String,_ displayValue: Double) -> Double?{
            
            if operate == "=="{
                if let num1 = temp?.num1,
                    let oper = temp?.oper {
                    
                    switch oper{
                    case "+":
                        return num1 + displayValue
                    case "-":
                        return num1 - displayValue
                    case "*":
                        return num1 * displayValue
                    case "/":
                        return num1 / displayValue
                    default:
                        return nil
                    }
                }
            }else{
                temp = (num1: displayValue, oper: operate)
            }
            return nil
        }
    }
    

    相关文章

      网友评论

          本文标题:小知识点

          本文链接:https://www.haomeiwen.com/subject/zlrrictx.html