📜  Swift字面量

📅  最后修改于: 2021-01-11 07:27:35             🧑  作者: Mango

迅捷字面量

字面量是变量或常量的直接值。它可以是数字,字符或字符串。字面量用于初始化变量或为变量或常量赋值。

例:

let siteName = "javatpoint.com"

在这里,javatpoint.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

浮点字面量

浮点字面量用于floatdouble值。浮点字面量有两种类型:

小数:

它可以存储可选的指数,由大写或小写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中有两个布尔字面量: truefalse

例:

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