Dec*_*nna 3 swift optional-chaining option-type
是否可以像这样同时使用可选链接和零合并?
\n\nprint("Meeting host: " + meeting.host?.email ?? \xe2\x80\x9cNo host\xe2\x80\x9d)\nRun Code Online (Sandbox Code Playgroud)\n\n我想这样做,但我收到一条错误消息,说我的字符串?没有打开。email是一个非可选字符串。
这是否可以在无需host事先打开包装的情况下实现?如果不是,为什么我的尝试不起作用?
您不必打开它即可使其工作。这不是错误发生的原因。??毕竟,它是为了处理此类情况而设计的。
该错误是由于运算符优先级而发生的。编译器认为它应该评估第+一个,连接两个字符串,然后进行零合并。它发现第二个操作数没有解包并抱怨。
为了使其产生预期的结果,请??通过添加括号明确告诉编译器评估第一个:
print("Meeting host: " + (meeting.host?.email ?? \xe2\x80\x9cNo host\xe2\x80\x9d))\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
2853 次 |
| 最近记录: |