首先要说的是,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"