《Swift 权威指南》——第6章,第6.3节扩展参数
本节书摘来自异步社区《Swift 权威指南》一书中的第6章,第6.3节扩展参数,作者 李宁,更多章节内容可以访问云栖社区“异步社区”公众号查看
6.3 扩展参数
我们发现,Swift语言中的很多函数/方法在调用时不只是传入一个参数值,在前面还要跟一个有意义的英文名,该英文名和参数值之间用冒号(:)分隔。例如,Dictionary有一个updateValue方法,该方法的第二个参数需要给一个forKey,然后才能传入参数值,调用形式如下。
dict.updateValue("飞机", forKey:21)
实际上,这个forKey就是扩展参数名,该参数也可以成为命名参数。也就是说,在定义函数时指定的参数名是函数内部使用的,可以成为函数的内部参数名。而为了让代码更容易理解,在定义函数时还为其指定了一个参数名,该参数名就是扩展参数名。只在调用函数时指定。定义扩展参数名也很简单,只需要在内部参数名之前指定扩展参数名即可,两侧参数之间用空格分隔。
例如,下面两个函数,前者(process)是没有扩展参数名的函数,后者(process1)是有扩展参数名的函数。我们可以观察它们在调用时的差别。
// 没有扩展参数名的函数 func process(p1: String, p2:Int) -> String { return "name:" + p1 + " age:" + String(p2) } process("bill", 20) // 有扩展参数名的函数,其中name和age是扩展参数名,需要在调用时指定 func process1(name p1: String, age p2:Int) -> String { return "name:" + p1 + " age:" + String(p2) } // 调用process1函数,在调用时必须指定扩展参数名 println(process1(name: "Mike", age:17)) 执行这段代码后,会输出如下的内容。 name:Mike age:17
注意:在使用扩展参数名调用函数时,不能将参数顺序写错了,否则无法成功编译1

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
《iOS 6高级开发手册(第4版)》——1.13节使用外部屏幕
本节书摘来自异步社区《iOS 6高级开发手册(第4版)》一书中的第1章,第1.13节使用外部屏幕,作者 【美】Erica Sadun,更多章节内容可以访问云栖社区“异步社区”公众号查看 1.13 使用外部屏幕iOS 6高级开发手册(第4版)可以用许多方式使用外部屏幕。例如,采取最新款的iPad。第二代和第三代型号提供了内置的屏幕监测。连接VGA或HDMI电缆,就可以把内容显示在外部显示器和内置屏幕上。某些设备允许使用AirPlay(Apple的专有无线缆空中下载视频解决方案)把屏幕以无线方式镜像到Apple TV。这些镜像特性极其方便,但是并不仅限于在iOS中简单地把一个屏幕上的内容复制到另一个屏幕上。 UIScreen类允许独立地检测并写到外部屏幕上。可以把任何连接的显示器视作一个新窗口,并为该显示器创建内容,使之独立于主设备屏幕上显示的任何视图。可以为任何有线屏幕执行该操作,并且从iPad 2(及更高型号)和iPhone 4S(及更高型号)开始,可以使用AirPlay to Apple TV 2(及更高型号)以无线方式执行该操作。名为Reflector的第三方应用程序允许使用Air...
- 下一篇
《Android 3D 游戏案例开发大全》——6.6节游戏界面相关类
本节书摘来自异步社区《Android 3D 游戏案例开发大全》一书中的第6章,第6.6节游戏界面相关类,作者 吴亚峰 , 于复兴 , 杜化美,更多章节内容可以访问云栖社区“异步社区”公众号查看 6.6 游戏界面相关类Android 3D 游戏案例开发大全前一小节为读者介绍了辅助界面相关类,本小节将对游戏界面相关类进行介绍,首先介绍游戏界面的各个组成部分,然后介绍游戏整体界面的开发,逐步完成对游戏界面的开发,下面就对这些类的开发进行详细介绍。 6.6.1 顶点数据管理者VertexDataManager本小节为读者介绍的是整个游戏过程中所有物体顶点数据的管理者VertexDataManager,具体开发步骤如下。 (1)首先为读者介绍的是本类主要框架的开发,其代码如下。 1 package com.bn.txz.manager; //声明包 2 ……//此处省略了本类中导入类的代码,读者可以自行查阅随书光盘中的源代码 3 public class VertexDataManager { 4 public static boolean isLoaded=false; 5 public st...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS关闭SELinux安全模块
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址