swift的基礎語法(一)

史前圖騰發表於2017-12-13

常量&變數

  • 使用let來定義常量,定義之後不可以修改
  • 使用var來定義變數,定義之後可以修改
import UIKit

let a : Int = 10
// 錯誤寫法,當一個欄位定義為常量時是不可以修改的
// a = 20

var b : Int = 20
// 因為b定義為變數,因此是可以修改的
b = 30
複製程式碼
  • 注意:
  • 在真實使用過程中,建議先定義常量,如果需要修改再修改為變數(更加安全)
  • 是指向的物件不可以再進行修改.但是可以通過指標獲得物件後,修改物件內部的屬性
// 注意:宣告為常量不可以修改的意思是指標不可以再指向其他物件.但是可以通過指標拿到物件,修改其中的屬性
// Swift物件中不需要*
let view : UIView = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
//常量仍然可以改顏色
view.backgroundColor = UIColor.redColor()
複製程式碼

型別

  • Swift中的資料型別也有:整型/浮點型/物件型別/結構體型別等等
  • 先了解整型和浮點型
  • 整型
有符號
Int8 : 有符號8位整型
Int16 : 有符號16位整型
Int32 : 有符號32位整型
Int64 : 有符號64位整型
Int : 和平臺相關(預設,相當於OC的NSInteger)
無符號
UInt8 : 無符號8位整型
UInt16 : 無符號16位整型
UInt32 : 無符號32位整型
UInt64 : 無符號64位整型
UInt : 和平臺相關(常用,相當於OC的NSUInteger)(預設)
複製程式碼
  • 浮點型
Float : 32位浮點型
Double : 64浮點型(預設)
複製程式碼
  • Swift是強型別的語言
  • Swift中任何一個識別符號都有明確的型別
  • 注意:
  • 如果定義一個識別符號時有直接進行賦值,那麼識別符號後面的型別可以省略.
  • 因為Swift有型別推導,會自動根據後面的賦值來決定前面的識別符號的資料型別
  • 可以通過option+滑鼠左鍵來檢視變數的資料型別
    Snip20151121_1.png
// 定義變數時沒有指定明確的型別,但是因為賦值給i一個20.20為整型.因此i為整型
var i = 20
// 錯誤寫法:如果之後賦值給i一個浮點型數值,則會報錯
// i = 30.5

// 正確寫法
var j = 3.33
j = 6.66
複製程式碼
  • Swift中在進行基本運算時必須保證型別一致,否則會出錯 相同型別之間才可以進行運算 因為Swift中沒有隱式轉換
  • 資料型別的轉化 Int型別轉成Double型別:Double(識別符號) Double型別轉成Int型別:Int(識別符號)
let a = 10
let b = 3.14

// 錯誤寫法
// let c = a + b
// let c = a * b

// 正確寫法
let c = Double(a) + b
let d = a + Int(b)
複製程式碼