常量与变量
常量 let,
let name = "John"
//常量赋值后不可修改
name = "Price" // 报错 提示let常量不能修改值
变量 var
var age = 10
//变量可修改
age = 11
print(age)
字符串基本操作
字符串创建方式
var name = "John"
var text1 = ""
var text2 = String()
var text3 = String(repeating: "a", count:10)
多行字符串使用三个双引号
var text4 = """
A
B
C
"""
单行字符串使用“\“符号进行多行拼接
var text5 = """
A\
B\
C\
"""
字符串转义
//第一种转义 不建议复杂容易导致看不懂
var text6 = "\"A\""
//第二种
var text7 = #""A‘B""#
字符串连接
//第一种使用+符号进行字符串拼接
var name = "John"
var age = "32岁"
print(name+age)
//第二种使用appending
print(name.appending(age))
//第三种运算符
name+=age
//第四种 不同类型的数据与字符串拼接使用转义字符\()
var age = 32
print("\(name)年龄:\(age)岁")
字符串的属性
//字符串是否为空
print(name.isEmpty)
//字符串长度
print(name.count)
//字符串描述(值)
print(name.description)
//便于调试的值
print(name.debugDescription)
//输出字符串哈希值
print(name.hashValue)
//字符串大小写
print(name.uppercased())//字符串转大写
print(name.lowercased())//字符串转小写
//字符串比较
print("ab" == "ab") //相等 true
print("ab" != "ab") //不等 false
//字符串判断开头/结尾是否包含某个字符串
.hasPrefix("***") //开头是否包含
.hasSuffix("***") //结尾是否包含
//字符串输出索引
name.indices
//字符串索引位 与OC不同 不是显示从0~last 而是 String.startIndex、String.endIndex、String.index(before.index)、String.index(after:index)、String.index(index.offsetBy:5)
整数
绝对值
//整数的绝对值
var x = -21
x.negate() // 21
x.magnitude // 21 建议使用
abs(-21) // 21
求商和余数
var x = 100
let (a,b) = x.quotientAndRemainder(dividingBy:8)
平方根
var a = 10
a.squareRoot()
四舍五入
//默认 rounded():四舍五入到最近整数
print(3.2.rounded()) // 3.0
print(3.5.rounded()) // 4.0 (四舍五入)
print(3.7.rounded()) // 4.0
print(-2.3.rounded()) // -2.0
print(-2.5.rounded()) // -3.0 (注意负数的四舍五入)
//.awayFromZero:幅度大于或等于原值的舍入
//规则:总是向远离零的方向舍入(正数向上,负数向下)
print(3.2.rounded(.awayFromZero)) // 4.0 (幅度 4.0 > 3.2)
print(3.7.rounded(.awayFromZero)) // 4.0 (幅度 4.0 > 3.7)
print(3.0.rounded(.awayFromZero)) // 3.0 (幅度 3.0 == 3.0)
print(-2.3.rounded(.awayFromZero)) // -3.0 (幅度 3.0 > 2.3)
print(-2.7.rounded(.awayFromZero)) // -3.0 (幅度 3.0 > 2.7)
//.down:幅度小于或等于原值的舍入
//规则:向数轴负方向舍入(向下舍入)
print(3.2.rounded(.down)) // 3.0 (幅度 3.0 < 3.2)
print(3.7.rounded(.down)) // 3.0 (幅度 3.0 < 3.7)
print(3.0.rounded(.down)) // 3.0 (幅度 3.0 == 3.0)
print(-2.3.rounded(.down)) // -3.0 (幅度 3.0 > 2.3)
print(-2.7.rounded(.down)) // -3.0 (幅度 3.0 > 2.7)
//.up:向数轴正方向舍入(向上舍入)
print(3.2.rounded(.up)) // 4.0 (幅度 4.0 > 3.2)
print(3.7.rounded(.up)) // 4.0 (幅度 4.0 > 3.7)
print(-2.3.rounded(.up)) // -2.0 (幅度 2.0 < 2.3)
print(-2.7.rounded(.up)) // -2.0 (幅度 2.0 < 2.7)
//.towardZero:向零方向舍入(截断小数)
print(3.2.rounded(.

3076

被折叠的 条评论
为什么被折叠?



