Ste*_*Kuo 5 destructuring swift
Swift 支持解构。
func pair() -> (String, String)
let (first, second) = pair()
Run Code Online (Sandbox Code Playgroud)
有没有办法将可选元组解构为单个可选值?
func maybePair() -> (String, String)?
let (maybeFirst, maybeSecond) = maybePair()
Run Code Online (Sandbox Code Playgroud)
这样maybeFirst和maybeSecond是可选字符串 ( String?)。
一个可能的解决方案(感谢@dfri简化了我最初的尝试):
let (a, b) = maybePair().map { ($0, $1) } ?? (nil, nil)
Run Code Online (Sandbox Code Playgroud)
如果 from 的返回值maybePair()不为 nil,则将调用闭包$0作为展开的返回值,并从中
(String?, String?)创建 a。否则map返回nil
,并且零合并运算符的计算结果为(nil, nil)。
| 归档时间: |
|
| 查看次数: |
1873 次 |
| 最近记录: |