Swift 字面量
字面量是变量或常量的直接值。它可以是数字、字符或字符串。字面量用于初始化或赋值给变量或常量。
示例:
let siteName = "deepinout.com"
在这里,deepinout.com是一个字面量,siteName是一个常量。
Swift字面量的类型
整数字面量
- 二进制字面量
- 它用于表示二进制值。
- 以0b开头。
- 八进制字面量
- 它用于表示八进制值。
- 以0o开头。
- 十六进制字面量
- 它用于表示十六进制值。
- 以0x开头。
- 十进制字面量
- 它用于表示十进制值。
- 以无符号开头。在整数字面量中声明的所有内容都是十进制类型。
整数字面量的示例
let binaryNumber = 0b11111111
print(binaryNumber)
print(1231)
输出:
255
1231
上面的示例包含了两个整数字面量0b11111111(二进制字面量)和1231(十进制字面量)。255是11111111的十进制值,这就是为什么print(binaryNumber)语句会在屏幕上输出255。
字符串和字符的Swift字面量
双引号括起来的字符序列称为 字符串字面量 ,而双引号括起来的单个字符称为 字符字面量 。
示例
let randomCharacter:Character = "C"
let randomString:String = "C is an awesome programming language"
print(randomCharacter)
print(randomString)
输出结果:
C
C is an awesome programming language
浮点字面量
浮点字面量用于存储 浮点数 和 双精度数 值。有两种类型的浮点字面量:
十进制
它可以存储一个可选的指数,由大写或小写字母 e 表示。对于带有指数exp的十进制数,底数会乘以10exp。
示例
let someFloat = 3.1416
let someAnotherFloat = 3.14e2
print(someFloat)
print(someAnotherFloat)
输出:
3.1416
314.0
十六进制
十六进制浮点数必须包含指数,指数用大写或小写的 p 表示。对于指数为exp的十六进制数,基数乘以2exp。
示例
let someFloat = 0xFp10
let someAnotherFloat = 0xFp-12
print(someFloat)
print(someAnotherFloat)
输出:
15360.0
0.003662109375
布尔字面量
在Swift中有两个布尔字面量: true 和 false 。
示例:
let result1:Bool = false
let result2:Bool = true
print(result1)
print(result2)
输出:
false
true
类型别名
typealias 用于为现有类型创建一个新的名称。
语法
typealias newname = type
示例
让我们以一个示例来说明,我们将”Raj”作为类型Int的另一个名称。
typealias Raj = Int
var distance: Raj = 100
print(distance)
输出:
100
类型安全性
Swift 4 是一种类型安全的语言。如果你的代码需要 Int 类型,那么就不能使用 String 类型。它在编译代码时执行类型检查,并将任何不匹配的类型标记为错误。
示例
var varA = 12
varA = "Hello World!"
print(varA)
输出:
main.swift:2:8: error: cannot assign value of type 'String' to type 'Int'
varA = "Hello World!"
^~~~~~~~~~~~~~
您可以看到上述程序因类型安全性而导致编译时错误。
类型推断
Swift是一种类型推断语言,这意味着在编译Swift代码时,它会自动检查所提供的值的类型,并自动选择适当的数据类型以成功执行。
示例
// varA is inferred to be of type String
var varA = "Love is life"
print(varA)
// varB is inferred to be of type Int
var varB = 143
print(varB)
// varC is inferred to be of type Double
var varC = 3.1416
print(varC)
// varD is also inferred to be of type Double
var varD = 3 + 0.1416
print(varD)
输出:
Love is life
143
3.1416
3.1416