【Swift 60秒】53 - Using closures as parameters when they accept parameters
创始人
2024-02-08 20:59:28

0x00 Lesson

This is where closures can start to be read a bit like line noise: a closure you pass into a function can also accept its own parameters.

We’ve been using () -> Void to mean “accepts no parameters and returns nothing”, but you can go ahead and fill the () with the types of any parameters that your closure should accept.

To demonstrate this, we can write a travel() function that accepts a closure as its only parameter, and that closure in turn accepts a string:

func travel(action: (String) -> Void) {print("I'm getting ready to go.")action("London")print("I arrived!")
}

Now when we call travel() using trailing closure syntax. our closure code is required to accept a string:

travel { (place: String) inprint("I'm going to \(place) in my car")
}

0x01 我的小作品

欢迎体验我的作品之一:小汉字-XHanzi
汉字书写入门,常用汉字 3800 个,二级字表 2200
App Store 搜索即可~


相关内容

热门资讯

多氟多股价涨5.02%,上银基... 8月7日,多氟多涨5.02%,截至发稿,报37.90元/股,成交79.13亿元,换手率20.23%,...
必贝特股价涨5.12%,华宝基... 8月7日,必贝特涨5.12%,截至发稿,报24.44元/股,成交9998.41万元,换手率5.88%...
台华新材跌2.04%,成交额3... 8月7日,台华新材盘中下跌2.04%,截至13:19,报8.18元/股,成交3078.48万元,换手...
华灿光电涨2.02%,成交额2... 8月7日,华灿光电盘中上涨2.02%,截至10:08,报12.12元/股,成交2.85亿元,换手率2...
精测电子股价涨5.13%,国寿... 8月7日,精测电子涨5.13%,截至发稿,报218.68元/股,成交8.60亿元,换手率1.80%,...