cpi*_*off 3 types parentheses swift
今天我和Swift一起玩,一些奇怪的类型开始出现:
let flip = Int(random()%2) //or arc4random(), or rand(); whatever you prefer
Run Code Online (Sandbox Code Playgroud)
如果我输入flipXcode 6(Beta 2),弹出自动完成,并说flip是类型(Int)而不是Int.
这很容易改变:
let flip : Int = Int(random()%2)
let flop = random()%2
Run Code Online (Sandbox Code Playgroud)
现在翻转和翻牌都是类型Int而不是(Int)
更多地使用它,这些"括号类型"是可预测的,你可以通过在变量赋值的任何部分添加额外的括号来引起它们.
let g = (5) //becomes type (Int)
Run Code Online (Sandbox Code Playgroud)
你甚至可以在类型中引起额外的括号!
let h = ((5)) //becomes type ((Int))
let k = (((5))) //becomes type (((Int)))
//etc.
Run Code Online (Sandbox Code Playgroud)
所以,我的问题是:这些括号类型(Int)和类型之间有什么区别Int?
部分是括号是有意义的.
let g = (5)
Run Code Online (Sandbox Code Playgroud)
...意味着它g是一个由一个Int组成的元组,符号化(Int).它是(5,6)符号化的单元素版本(Int,Int).
一般来说,你需要对Swift中的括号非常小心; 它们不能只用于任何旧地方.他们有意义.
但是,部分原因还在于代码完成机制存在问题.如果您具有可重现的案例,请向Apple提交报告.
| 归档时间: |
|
| 查看次数: |
2149 次 |
| 最近记录: |