当前位置 : 主页 > 手机开发 > 其它 >

括号内的Swift类型

来源:互联网 收集:自由互联 发布时间:2021-06-11
今天我和 Swift一起玩,一些奇怪的类型开始出现: let flip = Int(random()%2) //or arc4random(), or rand(); whatever you prefer 如果我输入翻转到Xcode 6(Beta 2),则自动完成弹出,并说flip是类型(Int)而不是Int
今天我和 Swift一起玩,一些奇怪的类型开始出现:

let flip = Int(random()%2)  //or arc4random(), or rand(); whatever you prefer

如果我输入翻转到Xcode 6(Beta 2),则自动完成弹出,并说flip是类型(Int)而不是Int.

这很容易改变:

let flip : Int = Int(random()%2)
let flop = random()%2

现在翻转和翻转是Int类型而不是(Int)

更多地使用它,这些“括号类型”是可预测的,你可以通过在变量赋值的任何部分添加额外的括号来引起它们.

let g = (5)      //becomes type (Int)

你甚至可以在类型中引起额外的括号!

let h = ((5))    //becomes type ((Int))
let k = (((5)))  //becomes type (((Int)))
//etc.

所以,我的问题是:这些括号类型如(Int)和Int类型有什么区别?

部分是括号是有意义的.

let g = (5)

…表示g是由一个Int,符号化(Int)组成的tuple.它是(5,6)的单元素版本,符号化(Int,Int).

一般来说,你需要对Swift中的括号非常小心;它们不能只用于任何旧地方.他们有意义.

但是,部分原因还在于代码完成机制存在问题.如果您具有可重现的案例,请向Apple提交报告.

网友评论