首先要說的是,Swift是一門動態語言,和其餘語言定義變量同樣的是必須有一個數據類型,不一樣的是其數據類型並非在定義變量時指定的,而是在程序運行到爲變量第一次初始化的時候纔會肯定數據類型,固然你也能夠在定義的時候就爲其指定數據類型。java
關鍵字:spa
常量用關鍵字let定義code
變量用關鍵字var定義字符串
在Java中定義一個變量,咱們可能須要這樣作:編譯
public int id = 2000; public String name = "Seven";
若是不加數據類型好比這樣:class
public id = 2000; public name = "Seven";
如上寫法都是沒法正確編譯的。變量
而在Swift中卻能夠如此任性。數據類型
var id = 2000 var name = "Seven"
如上寫法都是能夠的,都會在編譯的時候自動推倒其數據類型,等同於:程序
var id:Int = 2000 var name:String = "Seven"
可是,須要注意的是,若是不指定變量的數據類型,該變量必須被初始化!數據
var id // × 不合法,必須初始化 var id = 2000 // √ 合法
若是定義時不想初始化怎麼辦?那就要爲其指定數據類型了,以下寫法便可
var id:Int //合法
而對於常量來講,再定義的時候無論是否指定數據類型,其都要就行初始化。
let const1 //不合法,常量必須初始化 let const2:Int //不合法,常量必須初始化
因此定義常量必須初始化
let const3 = 20 //合法,不指定數據類型,動態推倒 let const4:Int = 20 //合法,指定數據類型
無論是變量仍是常量,一旦肯定了數據類型,不能後期改變的。
var value = "abc" value = 20 //編譯錯誤,由於value已經肯定了是字符串類型,不能再次被定義爲Int類型。
初次以外還要注意,若是變量或者常量在定義時未定義數據類型,初始化什麼值均可以。一旦指定了數據類型,必須初始化與數據類型相符的值。
var value:String = 222 //錯誤 必須的是字符串類型 好比"222"