由于基本运算符与OC相异不是很大,记下一些不同的地方。
1.赋值运算符
let(height,weight) = (170,60)
print(height)
/**
* 不支持赋值后返回值
* if height = weight {
* //...
* }
*/
2.算数运算符
/**
* '+'号运算符可以用于字符串的拼接
*/
let a = "HJ Swift"
let b = " 学习笔记"
let c = a + b
print(c)
3.取余运算符
/**
* 取余符号右边的正负号不影响取余结果
*/
//整数取余
let yushu = 10 % 6
let yushu2 = 10 % -6
let yushu3 = -10 % 6
print(yushu) //4
print(yushu2) //4
print(yushu3) //-4
//浮点数取余
let yushu4 = 2048 % 4.5
print(yushu4)
4.三目运算符
let didPass = true
let pass = 60
let notPass = 59
let result = didPass ? pass : notPass
print(result)
//空合运算符 '??' (选并操作符)
let defaultUserRole = "user"
var user1: String? //默认值为 nil
var userRole = user1 ?? defaultUserRole
print(userRole) //user
var user2 = "VIP"
var userRole2 = user2 ?? defaultUserRole
print(userRole2) //VIP
5.区间运算符
for year in (2012...2016){
print("从\(year)年开始已经有\(year - 1994)年了")
}
// 从2012年开始已经有18年了
// 从2013年开始已经有19年了
// 从2014年开始已经有20年了
// 从2015年开始已经有21年了
// 从2016年开始已经有22年了
//半开区间
for i in 0..<3 {
print("第 \(i + 1) 天")
}
// 第 1 天
// 第 2 天
// 第 3 天