Swift文法基礎入門一(適合有C, OC開發人員),swiftoc
Swift開發體驗
/*:建立對象* OC: alloc initWithXXX 方法* Swift: (xxx:)*//*:調用方法* OC: [UIColor redColor];* Swift UIColor.redColor()*//*:枚舉* OC: UIButtonTypeContactAdd* Swift: UIButtonType.ContactAdd*///[[UIView alloc] init];//[[UIView alloc] initWithFrame: ];//let view = UIView()let view = UIView(frame:CGRect(x: 0, y: 0, width: 100, height: 100))view.backgroundColor = UIColor.redColor()let btn = UIButton(type: UIButtonType.ContactAdd)btn.center = view.centerview.addSubview(btn)
常量和變數
常量變數
- let 常量: 常量的值一旦設定就不能改變
- var 變數: 變數的值可以隨意更改
- 常量&變數的使用原則:
- 為保證資料的安全性盡量先用 let,只有需要改變的時候才使用 var
常量定義格式
- 聲明符號 常量名稱: 類型標註
- let number: Int
- 特點: 一旦設定就不能改變
let number: Int = 10//number = 20
定義變數格式
- 聲明符號 變數名稱: 類型標註
- var number: Int
- 特點: 變數的值可以隨意更改
- 注意: 一般來說你很少需要寫類型標註。如果你在聲明常量或者變數的時候賦了一個初始值,Swift可以推斷出這個常量或者變數的類型
var number2: Int = 10number2 = 20
類型推斷
- 編譯器可以在編譯代碼的時候自動推斷出運算式的類型。(其它語言是沒有類型推斷)
- 原理很簡單,只要檢查你賦的值即可
- 如果沒有指定運算式的類型, 也沒有賦予初始值, 編譯器會報錯(type annotation missing in pattern)
let number3 = 10var number4 = 20.1// 注意點: 如果沒有指定運算式的類型, 也沒有賦予初始值, 編譯器會報錯var number5: Intnumber5 = 88
型別安全
- Swift 是一個型別安全(type safe)的語言, 它會在編譯你的代碼時進行類型檢查(type checks),並把不匹配的類型標記為錯誤。這可以讓你在開發的時候儘早發現並修複錯誤
- swift 對資料類型要求異常嚴格, swift 中任何時候,都不會做
隱式轉換
,如果要對不同類型的資料進行計算,必須顯示類型轉換 注意:
- 結合數字類常量和變數不同於結合數字類字面量。字面量8可以直接和字面量3.1415926相加,因為數字字面量本身沒有明確的類型。它們的類型只在編譯器需要求值的時候被推測
- Double和CGFloat也需要轉換
//let number6: Int = 10.1let number7 = 10let number8 = 10.1//let sum = number7 + number8let sum = Double(number7) + number8let sum1 = number7 + Int(number8)// 字面量之間運算可以是不同類型let sum2 = 10 + 10.1// CGFloat/Doublelet point = CGPoint(x: 10.10, y: 20.20)let temp = point.xlet sum3 = Double(temp) + number8
常量和變數的命名
- 你可以用任何你喜歡的字元作為常量和變數名,包括 Unicode 字元
- 常量與變數名不能包含數學符號,箭頭,保留的(或者非法的)Unicode 碼位,連線與定位字元
- 也不能以數字開頭,但是可以在常量與變數名的其他地方包含數字
- ... 和C和OC一樣
注意:
- 如果你需要使用與Swift保留關鍵字相同的名稱作為常量或者變數名,你可以使用反引號(`)將關鍵字包圍的方式將其作為名字使用。
- 無論如何,你應當避免使用關鍵字作為常量或變數名,除非你別無選擇。
//let