什么类型的123_456_789?

Ser*_*rov 4 types swift

我在Swift示例中看到了123_456_789带有下划线的数字.这些值默认具有什么类型?

它取决于我分配给它的变量的类型吗?他们看起来很有趣,对我来说很新,所以我想知道,如果他们像他们一样被抛出而没有定义类型,他们会如何对待?

Mar*_*n R 8

从文档(The Swift Programming Language - > Language Guide - > The Basics - > Numeric Literals):

数字文字可以包含额外的格式以使其更易于阅读.整数和浮点数都可以用额外的零填充,并且可以包含下划线以帮助提高可读性.这两种格式都不会影响文字的基础值:

let paddedDouble = 000123.456
let oneMillion = 1_000_000
let justOverOneMillion = 1_000_000.000_000_1
Run Code Online (Sandbox Code Playgroud)

所以你123_456_789是一个整数字面,并且相同123456789.您可以在任何地方插入下划线,不仅可以作为"千位分隔符",例如, 1_2_3_4_5_6_7_8_9或者1_23_4567_89,如果您想编写混淆代码.