您现在的位置是:首页 > 文章详情

《Swift 权威指南》——第6章,第6.2节返回多值的函数

日期:2017-05-01点击:233

本节书摘来自异步社区《Swift 权威指南》一书中的第6章,第6.2节返回多值的函数,作者 李宁,更多章节内容可以访问云栖社区“异步社区”公众号查看

6.2 返回多值的函数

不管是数学上的定义,还是各种语言中的实现,函数都只能返回一个值,如果非要返回多个值,就返回一个对象,然后将要返回的值以字段、属性或方法形式体现,但这也是返回一个值。不过在Swift函数中,却彻底颠覆了我们对函数的印象。Swift函数是真真正正地可以返回多个值。

可能有的读者会想到,在前面学习数据类型时,有一个元组类型,这个类型可以同时表示多个值,难道函数返回的是这个类型的值?没错,Swift函数就是通过元组类型实现返回多个值的功能的。

其实函数返回元组类型和返回其他类型在写法上没什么区别,只是“→”后面需要用圆括号定义元组类型,定义方式如下。

(returnValue1:valueType1, returnValue2:valueType2,...)

下面是一个典型的返回元组类型的例子。在这个例子中,统计了一个字符串中有多少个元音字母,有多少个辅音字母,有多少个其他字符。很明显,这需要通过元组返回3个值。函数的实现调用代码如下。

func count(string: String) -> (vowels:Int, consonants:Int, others:Int) { var vowels = 0 var consonants = 0 var others = 0 for c in string { switch String(c).lowercaseString { case "a", "e", "i", "o", "u": ++vowels // 元音计数器加1 case "b", "c", "d","f", "g", "h", "j", "k", "l", "m","n", "p", "q", "r", "s", "t", "v", "w", "x", "y", "z": ++consonants // 辅音计数器加1 default: ++others // 其他字符计数器加1 } } // 返回元组值 return (vowels, consonants, others) } // 调用count函数 let total = count("some arbitrary string!") println("\(total.vowels) vowels and \(total.consonants) consonants") 执行这段代码,会输出如下内容。 6 vowels and 13 consonants
原文链接:https://yq.aliyun.com/articles/96168
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章