在Swift中,下面是什么样的语法?
let (hello, world):(String,String) = ("hello","world")
print(hello) //prints "hello"
print(world) //prints "world"
是简写:
let hello = "hello"
let world = "world"
如果是速记,这个简写叫什么?这种类型的styntax有没有Swift文档?
答案 0 :(得分:2)
正如@vadian所指出的,你正在做的是创建一个元组 - 然后立即decomposing its contents成为单独的常量。
如果你将表达式分开,你可能会看到更好的结果:
// a tuple – note that you don't have to specify (String, String), just let Swift infer it
let helloWorld = ("hello", "world")
print(helloWorld.0) // "hello"
print(helloWorld.1) // "world"
// a tuple decomposition – hello is assigned helloWorld.0, world is assigned helloWorld.1
let (hello, world) = helloWorld
print(hello) // "hello"
print(world) // "world"
但是因为你在创建元组后立即分解元组的内容,所以它有点打破了元组开头的目的。我总是喜欢写:
let hello = "hello"
let world = "world"
虽然你喜欢写:
let (hello, world) = ("hello", "world")
这完全取决于你 - 这是个人偏好的问题。