单元素的parethesized表达式/元组与括号的常见用法

iav*_*avr 3 tuples parentheses swift

对不起,如果这是微不足道的 - 我对swift很新,实际上我只看了几分钟的语言指南+参考.

据我所知,括号表达式(2,3)用于构造元组,并且(2)是类型的单元素元组(Int).

但是,如果(2+4)在表达式中使用括号,会发生什么(2+4)*5?这仍然是一个类型的元组(Int)乘以Int

Mar*_*n R 7

从Swift书中的类型:

如果括号内只有一个元素,则类型只是该元素的类型.例如,类型(Int)Int,而不是(Int).

所以(2)or 的类型(2+4)是简单的Int,而*in (2+4)*5只是整数乘法.

  • @iavr:在switch语句中`case let(x):`和`case let x:`之间似乎没有区别,而`2`和`(2)`都匹配两种模式.据我所知,`(foo)`与`foo`完全相同. (2认同)