Swift3自學01

終于開始學Swift3了 要堅持下去!!!


Paste_Image.png

變量與常量
let 常量
var 變量
optional 可選項

不同類型之間不可以直接運算
定義可選項"?" 解包"!"
var的可選默認值為nil let沒有默認值
?? 簡單的三目 如果有值使用值 沒有值使用??后面的值 優先級低
if let, if var 連用
switch 不需要break
取消傳統for循環
for in 開閉空間 .xxx() 反轉等

     let x : Double = 3;
    let y = 3.3;
    let we : String = "sdf"
    let xx : Optional = 234
    let yy : Int? = 20
    
    print(xx!+yy!)

    x > 5 ? print("大于10") : print("小余10")
    x > 19 ? print("大于10") : ()

   let x : Int? = 10;
    let y : String? = "老王";
    
    if let xx = x, let yy = y {
        print(String(xx)+yy)
    }else{
        print("no")
    }
    guard let xxx = x ,let yyy = y else { return }
    print(String(xxx)+yyy)

    let age :Int  = 9;
    switch age {
    case 8,9:
        print("yes")
    default:
        print("no")
    }

    for i in 0..<10 {
        print(i)
    }
    
    for i in 0...9 {
        print(i)
    }

    for i in (0..<10).reversed() {
        print(i)
    }

字符串處理

     //返回指定編碼的對應字節數量
    //UTF8 每個漢字是3個字節
    print(s.lengthOfBytes(using: .utf8))
    
    //返回字符串長度
    print(s.characters.count)
    
    // 值 as 類型  -> 類型轉換
    let osStr = s as NSString
    print(osStr.length)

    //\(變量/常量)
    var str : String = "\(s) 這樣?"
    let point = CGPoint(x: 100, y: 200)
    //format日期
    let h = 10;let m = 2;let sss=3;
    let dateStr = String(format: "%.2d:%.2d:%.2d", h,m,sss)

    let s :String = "第一次感受Swift3.0"

    let osStr = s as NSString
    let s1 = osStr.substring(with: NSMakeRange(0, 5));
    let s2 = s.range(of: "Sw")
    guard let ra = s.range(of: "Sw") else {
        print("no")
        return
    }
    print(s.substring(with: ra))

數組

    let array = ["sf","我們"]
    let arr2 = [1,2,3,4]
    let pi = CGPoint(x: 100, y: 100)
    let arr3 = [pi]
    //Swift 中一個累可以沒有任何父類
    //Swift 中有一種[AnyObject] ->任意對象
    let arr4 = ["sdf",2] as [Any]
    print(arr4)

數組遍歷

    let array = ["sf","我們","搜索"]
    for s in 0..<array.count {
        print(array[s])
    }
    for s in array {
        print(s)
    }
    //元組
    for s in array.enumerated() {
        print("\(s.offset) with \(s.element)")
    }
    // n 對應索引下標 s 對應元素
    for (n,s) in array.enumerated() {
        print("\(n) ns \(s)")
    }
    //反序
    for s in array.reversed() {
        print(s)
    }
    //錯誤的反序 索引和內容不一致
    for (i, s) in array.reversed().enumerated() {
        print("\(i) \(s)")
    }
    //正確的反序 先枚舉再反序
    for (i, s) in array.enumerated().reversed() {
        print("\(i) \(s)")
    }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容