求高手解释

今天发现一个代码的有趣写法

NSString *str = ({

    NSString *temp = @"123";

。。。。

    temp;

});

NSLog("%@",  str);

返回的是temp的值。

如何解释这样子的写法?

 

块的最后是temp,然后再包一层() 则类似于(temp)这样的返回值

疑问是:为何{}会返回最后一个表达式的结果

这里如果把()去掉则会很奇怪的报错 : Unexpected interface name 'NSString': expected expression

 

posted @   LCAC  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示