1.1 基本数据类型
注意一些特殊写法:Int /UInt
1.2 常量、变量、运算符
常量的定义:(let)
let maxNum=10
let 循环次数:int=20
变量的定义:(var)
var loginAttempts=10 //变量类型由表达式类型推断出
var name:String="joker"
var length = 10.01
运算符:
基本上与C++一样。
不同之处:
- 关系运算符:
=== //表示恒等
!== //表示永不等于
- 范围运算符:
a...b //表示数学上的[a,b]
a..<b //表示数学上的[a,b)
- 算术运算符:
% 可对负数运行
- 类型转换运算符 : as 以及 is
var intValue=12.3 as Int
is 用于运行时进行类型检查,成功返回true,否则 false
var myObj:AnyObject=13.2
if myObj is Double{
print("double")
}
- 合并运算符:??
作用于2个操作数,左边为可选量,若它有值,则作为非可选量返回,否则返回右边表达式的值
var myArray:[int]=[int]()
print(myArray.first??0) //myArray.first为nil,显示右边的数0
1.3 数组(类型:Array<Type>或[Type])
var allstu:[string]=["AA","BB","cc"] //一般多用这种方法
var allstu:Array<string>=[int]() //初始化空数组,没有不能进行操作
allstu.append("JJ")//为数组添加元素
1.4 字典(类型:Dictionary<keyType,valueType>或[keyType:valueType])
var airport:Dictionary<string,string>=["toy":"tokyo","bj":"beijin"]
print(airport["toy"])//字典引用
airport["hn"]="hunan" //添加或者修改字典内元素
var empty:Dictionary<string,string>=[int:string]()
var empty:[int:string]=[int:string]()//简写形式
1.5 元组
将多个值组合为一个复合值,类型可不同
let httpNotFound=(404,"Not Found")
或 let httpNotFound:(Int,String)=(404,"Not Found")
//httpNotFound.0为404,使用下标访问元组内元素
//若有命名,如
let A=(AA:520,BB:510)
print("A is\(A.AA)") //A is 520
1.6 可选类型(Optional)
当一个量可能有一个确定的值或可能无值时,可用Optional