Like C# 中的匿名类型 http://msdn.microsoft.com/en-us/library/bb397696.aspx。新推出的语言 Swift 中的元组可以做 C# 中的匿名类型可以做的事情吗?
在学习 swift 时,我发现了一些语句(他们称之为元组),例如
let http200Status = (statusCode: 200, description: "OK")
我们可以通过类似的方式访问它们
println("The status code is \(http200Status.statusCode)")
// prints "The status code is 200"
println("The status message is \(http200Status.description)")
// prints "The status message is OK”
感觉就像 C# 中的匿名类型一样。
Swift 中的 Tuple 是否可以完全替代 C# 中的匿名类型?有人可以给我比较元组和匿名类型吗?我在一个方面可以做而在另一个方面不能做的事情。到目前为止我发现一件事,在 C# 中,我们不能返回匿名类型(除非作为对象),但我们可以在 Swift 中做到这一点。
Swift 中的元组在某种程度上是 C# 的匿名类型和泛型的混合体Tuple<T1, T2, ...>
类。
与 C# 匿名类型一样,Swift 允许您根据需要命名元组的“属性”(但是,它只是可选的):
let result = (errorCode: 9001, message:"Power level too high!")
它还允许您提取某些值,而在检索它们时忽略其他值:
let (errorCodeOnly, _) = result
值得注意的是,Swift 元组的不变性由以下因素决定:var
vs let
.
let immutableCard = (suit: "Spades", rank: "Ace")
var mutableCard = (suit: "Hearts", rank: "Queen")
immutableCard.rank = "Jack" // error, cannot set
mutableCard.rank = "Two" // OK
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)