基本数据类型 #
一、整数类型 #
1.1 整数类型概述 #
Swift提供多种整数类型:
| 类型 | 位数 | 范围 |
|---|---|---|
| Int8 | 8位 | -128 到 127 |
| Int16 | 16位 | -32768 到 32767 |
| Int32 | 32位 | -2147483648 到 2147483647 |
| Int64 | 64位 | -9223372036854775808 到 9223372036854775807 |
| UInt8 | 8位 | 0 到 255 |
| UInt16 | 16位 | 0 到 65535 |
| UInt32 | 32位 | 0 到 4294967295 |
| UInt64 | 64位 | 0 到 18446744073709551615 |
1.2 Int和UInt #
swift
let integer: Int = 42
let unsigned: UInt = 42
print(Int.min)
print(Int.max)
print(UInt.min)
print(UInt.max)
1.3 整数字面量 #
swift
let decimal = 42
let binary = 0b101010
let octal = 0o52
let hexadecimal = 0x2A
print(decimal)
print(binary)
print(octal)
print(hexadecimal)
1.4 可读性分隔符 #
swift
let bigNumber = 1_000_000
let creditCard = 1234_5678_9012_3456
let bytes = 0xFF_FF_FF_FF
print(bigNumber)
print(creditCard)
print(bytes)
二、浮点数类型 #
2.1 Float和Double #
swift
let float: Float = 3.14159265359
let double: Double = 3.14159265359
print(float)
print(double)
print(Float.pi)
print(Double.pi)
2.2 浮点数字面量 #
swift
let decimal = 3.14
let exponent = 1.5e2
let hexExponent = 0xFp2
print(decimal)
print(exponent)
print(hexExponent)
2.3 特殊浮点值 #
swift
let infinity = Double.infinity
let nan = Double.nan
let negativeInfinity = -Double.infinity
print(infinity)
print(nan)
print(negativeInfinity)
print(infinity > 1_000_000)
print(nan == nan)
print(nan != nan)
2.4 浮点数精度 #
swift
let a: Double = 0.1 + 0.2
let b: Double = 0.3
print(a)
print(b)
print(a == b)
let tolerance = 0.0001
print(abs(a - b) < tolerance)
三、布尔类型 #
3.1 布尔值 #
swift
let isTrue: Bool = true
let isFalse: Bool = false
print(isTrue)
print(isFalse)
3.2 布尔运算 #
swift
let a = true
let b = false
print(!a)
print(a && b)
print(a || b)
3.3 条件判断 #
swift
let score = 85
let passed = score >= 60
if passed {
print("考试通过")
} else {
print("考试未通过")
}
3.4 布尔命名规范 #
swift
var isEmpty: Bool = true
var hasPermission: Bool = false
var shouldUpdate: Bool = true
var canDelete: Bool = false
var isEnabled: Bool = true
四、字符类型 #
4.1 字符定义 #
swift
let char: Character = "A"
let emoji: Character = "😊"
let chinese: Character = "中"
print(char)
print(emoji)
print(chinese)
4.2 字符属性 #
swift
let char: Character = "A"
print(char.isLetter)
print(char.isNumber)
print(char.isUppercase)
print(char.isLowercase)
print(char.isWhitespace)
print(char.isASCII)
4.3 特殊字符 #
swift
let newline: Character = "\n"
let tab: Character = "\t"
let quote: Character = "\""
let backslash: Character = "\\"
let unicode: Character = "\u{1F600}"
4.4 字符转换 #
swift
let char: Character = "A"
let asciiValue = char.asciiValue
let upperChar = Character("A")
let lowerChar = Character("a")
print(asciiValue ?? 0)
五、字符串类型 #
5.1 字符串定义 #
swift
let string: String = "Hello, Swift!"
let empty1: String = ""
let empty2: String = String()
print(string)
print(string.isEmpty)
print(string.count)
5.2 多行字符串 #
swift
let multiline = """
这是一个
多行字符串
可以包含换行
"""
print(multiline)
5.3 字符串插值 #
swift
let name = "Swift"
let version = 5.9
let year = 2014
let message = "欢迎学习 \(name) \(version)!"
let info = "\(name)诞生于\(year)年"
let calculation = "2 + 3 = \(2 + 3)"
print(message)
print(info)
print(calculation)
5.4 字符串操作 #
swift
var greeting = "Hello"
greeting += ", World!"
print(greeting)
greeting.append("!")
print(greeting)
let upper = greeting.uppercased()
let lower = greeting.lowercased()
print(upper)
print(lower)
5.5 字符串方法 #
swift
let text = " Hello, Swift! "
print(text.count)
print(text.isEmpty)
print(text.hasPrefix(" He"))
print(text.hasSuffix("t! "))
print(text.contains("Swift"))
print(text.trimmingCharacters(in: .whitespaces))
5.6 字符串索引 #
swift
let str = "Swift"
let firstIndex = str.startIndex
let firstChar = str[firstIndex]
print(firstChar)
let lastIndex = str.index(before: str.endIndex)
let lastChar = str[lastIndex]
print(lastChar)
let thirdIndex = str.index(str.startIndex, offsetBy: 2)
let thirdChar = str[thirdIndex]
print(thirdChar)
5.7 字符串遍历 #
swift
let str = "Swift"
for char in str {
print(char)
}
for (index, char) in str.enumerated() {
print("\(index): \(char)")
}
5.8 子字符串 #
swift
let str = "Hello, Swift!"
let index = str.firstIndex(of: ",")!
let firstPart = str[..<index]
let secondPart = str[str.index(after: index)...]
print(firstPart)
print(secondPart)
六、类型转换 #
6.1 整数转换 #
swift
let int8: Int8 = 100
let int16: Int16 = Int16(int8)
let int32: Int32 = Int32(int16)
let small: Int8 = 127
let large: Int = Int(small)
6.2 浮点数转换 #
swift
let float: Float = 3.14
let double: Double = Double(float)
let intVal = 42
let doubleVal = Double(intVal)
let floatVal = Float(intVal)
6.3 字符串转换 #
swift
let intStr = String(42)
let doubleStr = String(3.14)
let boolStr = String(true)
let intFromString = Int("42")
let doubleFromString = Double("3.14")
print(intFromString ?? 0)
print(doubleFromString ?? 0.0)
6.4 字符与字符串 #
swift
let char: Character = "A"
let str = String(char)
let chars: [Character] = ["H", "e", "l", "l", "o"]
let combined = String(chars)
七、类型检查 #
7.1 type(of:) #
swift
let value = 42
print(type(of: value))
let pi = 3.14
print(type(of: pi))
let text = "Hello"
print(type(of: text))
7.2 is关键字 #
swift
let any: Any = 42
if any is Int {
print("是整数")
}
if any is String {
print("是字符串")
}
八、总结 #
本章学习了Swift的基本数据类型:
- 整数:Int、UInt及各种位数类型
- 浮点数:Float、Double
- 布尔值:true、false
- 字符:单个Unicode字符
- 字符串:文本序列
关键要点:
- 优先使用Int和Double
- 注意浮点数精度问题
- 使用有意义的布尔命名
- 字符串支持插值和多行
下一章,我们将学习Swift独特的可选类型!
最后更新:2026-03-26