在swift 3.0中从LINQ中选择()?
在Swift语言中是否存在LINQ Select方法的替代方案 例如,在c中,我可以执行以下操作:在swift 3.0中从LINQ中选择()?,swift,linq,Swift,Linq,在Swift语言中是否存在LINQ Select方法的替代方案 例如,在c中,我可以执行以下操作: var ranks = cards.Select(a=> a.Rank).ToArray(); 但是我怎么能用Swift语言做同样的事情呢 这是语法糖: let ranks = cards.map({ (card: Card) -> Rank in return card.rank }) 所应用的语法包括: 论元类型推理 let ranks = cards.map { ca
var ranks = cards.Select(a=> a.Rank).ToArray();
但是我怎么能用Swift语言做同样的事情呢
这是语法糖:
let ranks = cards.map({ (card: Card) -> Rank in
return card.rank
})
所应用的语法包括:
论元类型推理
let ranks = cards.map { card -> Rank in
return card.rank
}
let ranks = cards.map { card in
return card.rank
}
返回类型推断
let ranks = cards.map { card -> Rank in
return card.rank
}
let ranks = cards.map { card in
return card.rank
}
隐式返回值
let ranks = cards.map { card in
card.rank
}
匿名闭包参数
let ranks = cards.map { $0.rank }
查看C称之为lambdas的Swift名称以了解更多信息,看起来就是它!非常感谢。@Andrew我详细介绍了如何使用各种语法糖类来达到我展示的最终形式。语言指南中有介绍。你一定要读它,它写得很好,如果你已经知道C,那么你很容易理解它。卡片的等级属性应该叫做等级,符合Swift命名惯例。C使用大写作为属性,小写或uu前缀作为实例变量。Swift没有实例变量,因此不需要区分。属性为LowerCamelCase,大写CamelCase为类型和静态属性保留