博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Swift 权威指南》——第6章,第6.2节返回多值的函数
阅读量:6368 次
发布时间:2019-06-23

本文共 1219 字,大约阅读时间需要 4 分钟。

本节书摘来自异步社区《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

转载地址:http://gdgma.baihongyu.com/

你可能感兴趣的文章
『Data Science』R语言学习笔记,获取数据
查看>>
rails中n秒页面自动跳转
查看>>
我的友情链接
查看>>
忘记root用户密码怎么办?
查看>>
esxi定时任务
查看>>
Scaffold-DbContext
查看>>
关于VMware Workstation主机列表问题求教
查看>>
配置管理小报101021:给ubuntu加监控
查看>>
qml文字滚动效果的封装,实现方式运用的qml中提供的动画效果,另一种实现方式也可以使用定时器修改控件的坐标来实现...
查看>>
标准C++实现任务队列
查看>>
jdbc url
查看>>
刷leetcode第704题-二分查找
查看>>
debug_backtrace() 函数生成一个 backtrace(追踪)
查看>>
第七天,还是盒子
查看>>
XAMPP软件包下载
查看>>
XXL-JOB初体验-ORACLE版
查看>>
沉思录:别人的棺材
查看>>
jersey + spring + mybatis + redis项目搭建
查看>>
PAT 1006 部分正确_另一种解法
查看>>
在Keil环境下使用JLink实现printf输出重定向至debug窗口
查看>>