//
//main.swift
//冰凡
//
//Created by lanou on 16/10/20.
//Copyright (c) 2016年lanou. All rights reserved.
//
//swift里面没有头文件和实现文件,只有一个.swift文件
//swift里面没有main的概念,程序从main.swift开始执行
//swift每一条执行语句可以不用分号结束,多条语句在同一行的时候才需要用分号区分
//swift引用其他文件的内容直接引用,不用导入头文件
//print是swift里面的打印函数,效率比NSLog要高;可以不使用占位符,拼接采用\()
//变量常量可选类型控制流
importFoundation
//变量:定义之后允许改变,通过var表示
//常量:定义之后不允许改变,通过let表示,常量定义出来一定要给他赋值,不赋值会出错。
//swift会根据初值来对变量进行自动推断
//明确指明数据类型let/var变量名:数据类型=初值
letnumber =20
letnumber1 =12.3
varnumber2:Int=20
//number2 = 30.4不允许
//不同数据类型之间不能直接运算,必须进行强制转换
letresult:Int=Int(number1) +number2
letresult1:Double=number1+Double(number2)
print("result =\(result)")
//字符character:用双引号表示,单个字母,指明类型,character
letcha:Character="a"
//字符串:String :双引号表示,多个字符
letstr ="hellWorld"
//可选类型:如果某一个变量可能为nil(空),那么这个变量就是属于可选类型,可选类型用?进行表示
//打印可选类型会有optional字符,如果要去掉optional就进行详细解包!
//var变量名:数据类型?=初始值(可以不给初值)
varnumber0:Int? =50
//number0 = nil
letnumber3:Int=20
//可选类型不能直接参与运算,必须进行强制解包之后才可以参加运算,强制解包用!表示
//对可选类型进行强制解包,必须确保可选类型的值不是nil,否则对nil强制解包会导致系统奔溃
//unexpectedly found nil
//while unwrapping an Optional value
letsum =number0! +number3
print("\nsum =\(sum)")
println("\nHello\(1234), World!")
//布尔类型
letflag:Bool=true//false
//条件判断:if
//(1)if后面的小括号可以去掉,大括号不能省略,即使里面只有一行代码
if(flag){
print("flag is true\n")
}
//(2)if没有非零即真的概念,只有true和false
letvalue =10
ifvalue>0{
print("value > 0\n")
}
//可选类型的条件判断
varname:String? ="hello"
//<1>:if-let/var:先判断可选类型name是否为空,如果不为nil,就将name进行强制解包后的值赋值给temp,然后执行代码段。否则,不执行
print("name =\(name)\n")
ifvartemp =name{
temp +="world\n"
print(temp)
}
//if name != nil{
//}
//<2>if-left/var-where是在if-let的基础上对定义出来的局部变量再做一次判断,两个条件都满足的时候执行{}里面的代码块
iflettemp =namewheretemp =="hello"{
print("if-let-where:name = hello")
}
//定义一个整形可选值n,如果该整形可选值不为nil的话,使用for循环打印n遍“你大爷”
varn:Int? =2
iflettemp =n{
forvari =0; i <= temp; i++ {
print("你好")
}
}
//<3>guard(守护):如果可选值不为空的话,就强制解包的值给temp,否则就执行{}里面的代码块,return一定要写
/*func demo(){
let count:Int? = 3
guardlet temp = count else {
print("count为nil")
return
}
}
*/
//定义一个整形可选值myValue,如果该值不为nil并且是偶数的话就用for循环打印myValue遍helloWorld,否则的话就打印该数是奇数
varmyValue:Int? =5
ifvartemp =myValuewheretemp %2==0{
forvari =0; i
print("hello word\n")
}
}else{
print("这是奇数\n")
}
网友评论