简单的分支 if语句
func demo(){
let x =
10
/**
1. 条件不需要()
2. 语句必须有{}
--很多公司的代码规范中,禁止不使用{}
*/
if x >
5{
print(
"大了")
}
else{
print(
"小了");
}
}
三目的语法
func demo1(){
let x =
20
x >
5 ?
print(
"大了") :
print(
"小了")
x >
5 ?
print(
"大了") : ()
}
func demo2(){
let x: Int? =
10
let y: Int? =
200
print(x! + y!)
}
MARK: - ??
func demo3(x:Int?,y:Int?)
{
/**
?? 是一个简单的三目
- 如果有值 使用值
- 如果没有值,使用??后面的值代替
*/
print((x ??
0) + (y ??
0))
let name:String? =
"老王"
print((name ??
"")+
"你好")
print(name ??
""+
"你好")
}
if let/var 连用语法
//MARK: -
if let/
var 连用语法,目的是判断值
func demo4(){
let oName:String? =
"老王"
let oAge:Int? =
10
if oName != nil && oAge != nil{
print(oName! + String(oAge!))
}
// if let 连用,判断对象的值是否为nil {}内一定有值,可以直接使用,不需要解包
// if var 连用,{}可以对值进行修改
if let name = oName,
let age = oAge{
//进入分支以后,name和age一定有值,不需要解包
//name 和 age 的作用域仅在{中}
print(name + String(age))
}
}
guard let 和 if let 刚好相反
func demo5(){
let oName:
String? =
"老王"
let oAge:Int? =
10
guard
let name = oName,
let age = oAge
else {
print(
"姓名或者年龄为 nil")
return
}
print(name +
String(age))
}
guard let & if let 使用技巧
func demo6(name:
String?,age: Int?){
if let name = name ,
let age = age {
print(name +
String(age))
}
guard
let name = name,
let age = age
else {
print(
"姓名或者年龄为nil")
return
}
print(name +
String(age))
}