括号内的Swift类型

前端之家收集整理的这篇文章主要介绍了括号内的Swift类型前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
今天我和 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提交报告.

猜你在找的Swift相关文章