使用可选字符串连接文字

时间:2016-09-10 11:13:16

标签: swift

实施此方法的正确方法是什么?最好是一行。

var name: String?
...
let username = "@" + name

注意:username必须为String?我不想打开name进行连接。

修改:如果namenil,则username也应为nil

4 个答案:

答案 0 :(得分:11)

您可以使用map的{​​{1}}方法:

Optional

如果let username = name.map { "@" + $0 } name,则不执行闭包,结果为nil。否则,将nil设置为未包装的名称来评估闭包。

答案 1 :(得分:3)

试试这个:

let username = name.flatMap { "@\($0)" }

答案 2 :(得分:1)

根据更新的要求编辑:

你可以通过几种方式做到这一点。这是一个:

{{1}}

答案 3 :(得分:0)

可能最简单,更易读的选项是使用<script src="https://rawgithub.com/Xotic750/object-walk-x/master/lib/object-walk-x.js"></script>,但您也可以定义if let prepend的方法,与String相对,然后使用可选链接:

String.append