为什么swift语言设计者会选择用下划线而不是逗号来分隔罕见的数字
数字文字可以包含额外的格式,使其更易于阅读。整数和浮点数都可以用额外的零填充,并且可以包含下划线以帮助提高可读性。这两种格式都不会影响文本的基础值:为什么swift语言设计者会选择用下划线而不是逗号来分隔罕见的数字,swift,Swift,数字文字可以包含额外的格式,使其更易于阅读。整数和浮点数都可以用额外的零填充,并且可以包含下划线以帮助提高可读性。这两种格式都不会影响文本的基础值: let paddedDouble = 000123.456 let oneMillion = 1_000_000 let justOverOneMillion = 1_000_000.000_000_1 首先,并非所有地区都用逗号分隔数字。此外,使用逗号分隔符可能会在语法上造成混乱;考虑以下函数调用: foo(123,456) 是一个文本123
let paddedDouble = 000123.456
let oneMillion = 1_000_000
let justOverOneMillion = 1_000_000.000_000_1
首先,并非所有地区都用逗号分隔数字。此外,使用逗号分隔符可能会在语法上造成混乱;考虑以下函数调用:
foo(123,456)
是一个文本123456
,还是两个不同的参数123
和456
?原因#1:逗号不明确–无法区分以下情况:
var prices: [Double] = [1,234.00, 99.99]
# evaluates to
var prices: [Double] = [1.00, 234.00, 99.99]
但是,在这种情况下,下划线并不含糊:
var prices: [Double] = [1_234.00, 99.99]
原因#2:下划线通常用于表示在这种情况下有意义的废弃值(它本质上是一个废弃的数字)
理由#3:Swift的灵感来自Ruby,Ruby也有同样的功能。我不是Swift语言设计师(我也不确定是否有人以任何官方身份发布过Swift,因此这可能不是向他们提问的最佳场所),但我有几个猜测:
- 逗号是Swift中的运算符(与C中的作用大致相同)
- 并不是每个人都使用逗号作为分隔符
- 您可以使用下划线以任何有助于您阅读的方式分解任何数字文字,而不仅仅是作为分隔符