let x = 10
//1.条件不需要()
//2.语句必须用{}
//注意:很多公司的代码规范中进制不是使用 {}
if x > 5 {
print("大了")
}else{
print("小了")
}
if let /var 和 guard let / var 的用法
func demo (){
let oName: String? = "PRF"
let oAge: Int? = 28
//普通写法
if oName != nil && oAge != nil {
print(oName! + String(oAge!) )
}
//if let 连用写法 , 判断对象的值是否为nil
if let name = oName,
let age = oAge{// let 可以替换成 var 如果在 {} 有修改值的需要的时候使用var
//namge 和 age 仅仅在这个 {} 的作用于内生效
print(name + String(age))
//此时使用name和age都是不用 `!` 强解包的 ,因为name 和age 必不为空
}else{
print("name 或者 age 为 nil")
}
//guard let / var 写法 ,当有修改值需求的生活,使用var 否则根据系统建议来使用
guard let name = oNmae,let age = oAge{
print ( "name 或者 age 为 nil" )
return//必须写return
}
print (name + String(age)) //代码执行至此说明 name / age 都有值
}
//MARK: 带参数的方法里的分支
func demo2(name:String? , age:Int? ){
//guard let/var 或者 if let/var 的技巧
//在接收参数是,使用同名的变量或者产量,在后续的使用中都是费控,不用解包
guard let name = name , age = age {
print ( "name 或者 age 为 nil")
return
}
print ( name + String(age))
}
三目
let x = 10
x > 5 ? print("大了") : print("小了") //输出结果大了
//三目的写法基本和OC一致
//可省略后半部分 括号:()表示空执行,如果判断结果为否,则什么都不做
x > 3 ? print("大了") :print() //不输出任何结果
//书写规范:
//问号与条件之间需要有空格,