GitHub Demo: https://github.com/BaHui/BHSwifter
1.常量 和 变量必须在使用前声明
常量: let
变量: var
let 常量C : String
常量C = "这是一个常量C"
print(常量C) // 输出: 这是一个常量C
// 声明一个常量: let修饰, 不可以被改变
let 常量A = "QiaoBaHui"
// 常量A = "ABC" , 编译进行报错, let修饰的量不可以对其修改
print(常量A) // 输出: QiaoBaHui
********************************************************************
// 声明一个变量: var修饰, 允许被修改
var 变量A = "Qiao"
print(变量A) // 输出: Qiao
// 对变量进行修改
变量A = "BaHui"
print(变量A) // 输出: BaHui
- 声明多个常量或者变量
let 变量B1 = "Qiao", 变量B2 = "Ba", 变量B3 = "Hui"
print("输出结果: \(变量B1 + 变量B2 + 变量B3)") // 输出: 输出结果: QiaoBaHui
- 类型安全和类型推断
// 当推断浮点数的类型时,Swift 总是会选择 Double 而不是Float
let theDoubleValue1 = 100.00
let theDoubleValue2 = 15.90
let result1: Double = theDoubleValue1 * theDoubleValue2
let result2: Int = (Int)(theDoubleValue1 * theDoubleValue2) // 类型转换为Int
print("浮点结果: \(result1)") // 输出: 浮点结果: 1590.0
print("保留两位: \(String(format: "%.2f", result1))") // 输出: 保留两位: 1590.00
print("取整结果: \(result2)") // 输出: 取整结果: 1590
let result3 = 3 + 0.14159
print(result3) // 输出: 3.14159
- 整数和浮点数转换
let three = 3
let doubleTypeValue = 0.14159
let pi = Double(three) + doubleTypeValue
print(pi) // 输出: 3.14159 (PS: pi 等于 3.14159,所以被推测为 Double 类型)
- 类型别名
/*当想要给现有类型起一个更有意义的名字时,类型别名非常有用。
* 假设你正在处理特定长度的外部资源的数据:如: typealias AudioSample = String
* 定义了一个类型别名后,可以在任何使用原始名的地方使用别名:
*/
typealias AudioSample = String
let string = AudioSample(format: "%.2f", 11.111);
print(string) // 输出: 11.11
- 布尔值 (true / false)
let trueValue = true
let falseValue = false
if trueValue {
print("This is true")
}
if !falseValue {
print("This is !falseValue")
}
let i = 1
if i == 1 {
print("i 的值与 1相等")
}
- 元组
let tuples1 = ("qiao", "ba", "hui", 26)
let (subName1, subName2, subName3, age) = tuples1
print(tuples1.0 + tuples1.1 + tuples1.2 + "\(tuples1.3)") // 输出: qiaobahui26
print(subName1 + subName2 + subName3 + "\(age)") // 输出: qiaobahui26
let tuples2 = (subName1: "qiao", subName2: "ba", subName3: "hui", age: 26)
print(tuples2.subName1 + tuples2.subName2 + tuples2.subName3 + "\(age)") // 输出: vqiaobahui26
- 可选类型 和 可选绑定
let possibleNumber = "Swift"
if let convertedNumber = Int(possibleNumber) {
print(convertedNumber)
} else {
print("possibleNumber转换为整数失败!!")
}
// 输出: possibleNumber转换为整数失败!!
if let firstNumber = Int("4"), let secondNumber = Int("42"), firstNumber < secondNumber && secondNumber < 100 {
print("\(firstNumber) < \(secondNumber) < 100")
}
// 输出: 4 < 42 < 100
- 断言
let assertTest = -3
assert(assertTest >= 0, "A person's age cannot be less than zero") // 因为 age < 0,所以断言会触发
网友评论