Swift Academy · 课时

字面量的类型推断

控制字面量推断为 Int 还是 Double。

第 3 / 4 课13 个步骤

字面量的类型推断 是 CoddyKit 上的免费 Swift Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Swift Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Swift Academy 课程共包含 4 节课。

字面量的默认类型

每种字面量都有默认的推断类型:整数会变为 Int,浮点数会变为 Double,文本会变为 String,true/false 会变为 Bool。

let i = 5
let d = 5.0
let s = "5"
let b = true
print(type(of: i), type(of: d), type(of: s), type(of: b))

let x = 5 是 Int

不带小数点的整数型字面量始终会推断为 Int,这是平台默认的整数类型。

let x = 5
print(type(of: x))
print(x + 1)

let y: Double = 5

使用 Double 添加类型注解后,同一个字面量 5 就会成为浮点值。

let y: Double = 5
print(type(of: y))
print(y / 2)

小数点会强制使用 Double

写出 5.0 就会推断为 Double,无需添加类型注解。

let z = 5.0
print(type(of: z))
print(z * 2)

Int 与 Double 不能混用

Swift 不会在数值类型之间进行隐式转换。要组合 Int 和 Double,必须显式转换。

let count = 3
let price = 1.5
let total = Double(count) * price
print(total)

Float 与 Double

小数默认使用 Double。如果明确需要较小的 32 位类型,请使用 Float 添加类型注解。

let big = 3.14
let small: Float = 3.14
print(type(of: big), type(of: small))

整数类型注解

请添加类型注解,以选择 Int8 或 UInt 等指定大小的整数类型,而不是默认的 Int。

let tiny: Int8 = 120
let unsigned: UInt = 9
print(type(of: tiny), type(of: unsigned))

String 与 Character

双引号字面量会推断为 String。在单字符上下文中,通过类型注解可以将其推断为 Character。

let word = "Swift"
let letter: Character = "S"
print(type(of: word), type(of: letter))

布尔字面量

关键字 true 和 false 会推断为 Bool。

let isReady = false
print(type(of: isReady))

表达式中的字面量

当一个表达式中混合使用不同字面量时,Swift 会选择一个共同类型。1 + 2.0 会将整数型字面量视为 Double。

let mixed = 1 + 2.0
print(mixed)
print(type(of: mixed))

类型注解会调整字面量

字面量本身具有灵活性;类型注解决定它最终的类型。这就是 let y: Double = 5 无需写成 5.0 也能正常工作的原因。

let a: Double = 7
let b: Float = 7
print(a, b)

快速检查

测试字面量推断。

回顾

整数型字面量默认是 Int,小数型字面量默认是 Double。: Double、: Float、: Int8 或 : Character 等类型注解可以调整灵活的字面量,从而覆盖默认类型。数值类型永远不会隐式转换。

let i = 5
let d: Double = 5
print(type(of: i), type(of: d))
免费开始

用 AI 导师学习 Swift — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
122
课程
409

常见问题解答

「字面量的类型推断」课时是免费的吗?

是的 — 「字面量的类型推断」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Swift Academy 课程的其余内容,请升级到 CoddyKit PRO。 Swift Academy 课程共包含 4 节课。

「字面量的类型推断」这节课中我会学到什么?

控制字面量推断为 Int 还是 Double。 你通过在浏览器中直接运行的动手代码来练习 Swift Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Swift Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Swift Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「字面量的类型推断」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Swift Academy 课中编写并运行代码吗?

能。每节 Swift Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 类型推断的工作原理
  2. 何时添加显式注解
  3. 字面量的类型推断
  4. 闭包中的类型推断
← 返回 Swift Academy