varstr ="Hello, playground"
letmaximumNumberOfLoginAttempts =10
varcurrentLoginAttempt =0
//多个变量之间可以用逗号
varx=0,y=1,z=1
letminValue =UInt8.min;// minValue为0,是UInt8类型的最小值
letmaxValue =UInt8.max;// maxValue为255,是UInt8类型的最大值
//整数和浮点数转换
letthree =3
letpointOneFourOneFiveNine =0.14159
letpi =Double(three) +pointOneFourOneFiveNine
print(pi)
//浮点数转整数
letintegerPi =Int(pi)
print(integerPi)
//类型别名(type aliases)就是给现有类型定义另一个名字。你可以使用typealias关键字来定义类型别名。
typealiasAudioSample =UInt16
varmaxAmplitudeFound =AudioSample.min
/*元组(tuples)把多个值组合成一个复合值
http404Error的类型是(Int, String)*/
lethttp404Error = (404,"Not Found")
let(statusCode,statusMessage) =http404Error
print("this status code is\(statusCode)")
print("this status code is\(http404Error.0)")
lethttp500Error = (statusCode :500,description :"ok")
print("this staus code is\(http500Error.statusCode)")
//选配(Optionals)或者说“有一个值,它等于x”或“有没有值可言”。
varperhapsInt:Int?
varperhapsStr:String?
varmyString :String? =nil
ifmyString!=nil
{
print(myString)
}
else
{
print("myString has nil value")
}
//断言
letage = -3
assert(age<=0,"A person's age cannot be less than zero")
/*
一元运算符对单一操作对象操作(如-a)。一元运算符分前置符和后置运算符,前置运算符需紧排操作对象之前(如!b),后置运算符需紧跟操作对象之后(如i++)。
二元运算符操作两个操作对象(如2 + 3),是中置的,因为它们出现在两个操作对象之间。
三元运算符操作三个操作对象,和C语言一样,Swift只有一个三元运算符,就是三元条件运算符(a ? b : c)。
*/
//赋值运算符
letb =10
vara =5
a=b
/*
当++前置的时候,先自増再返回。
当++后置的时候,先返回再自增。
*/
vari =0
++i
varass =0
letbs = ++ass// a和b现在都是1
letcs =ass++// a现在2,但c是a自增前的值1
//闭区间运算符(a...b)定义一个包含从a到b(包括a和b)的所有值的区间
for index in1...5
{
print("\(index) *5 =\(index *5)")
}