空函数有参函数调用参数的注意事项Swift 1.1语言

7.2.3  空函数

空函数有参函数调用参数的注意事项Swift 1.1语言空函数是函数中最简单的形式。在空函数中,函数只有一个空壳,里面是没有任何语句。当开发者还没有想到要写什么样子的程序时,可以使用空函数。等想好要编写的程序后,再为空函数去添加内容。它声明定义的一般形式如下本文选自Swift 1.1语言快速入门:

  • func 函数名(){

  • }

注意:空函数是没有返回值的。

【示例7-3】以下为程序定义一个空函数fun,然后再去调用。代码如下:

  • import Foundation

  • //空函数的声明定义

  • func fun(){

  •    

  • }

  • fun()

由于在空函数中没有执行的语句,所以不会有任何输出结果本文选自Swift 1.1语言快速入门。

7.3  使用有参函数

有参数函数是指包含参数列表的函数。以下对它的声明定义、调用、使用参数的主要事项和参数名进行详细的讲解。

7.3.1  有参函数的声明定义

有参函数声明定义的一般形式如下:

  • func 函数名(参数名1:数据类型,参数名2:数据类型,……)->返回值类型{

  • 语句

  • }

其中, 无参函数和有参函数的区别在于参数列表。参数列表由参数名和数据类型组成,其中使用“:”冒号将它们分隔开。参数列表中的参数可以有多个。定义时使用参数是为了接收调用(调用会在下一小节中讲解)时传递的数据。

【示例7-4】以下定义一个函数名为fun()的函数,此函数带有一个参数。代码如下:

  • func fun(Name: String){

  • }

注意:参数列表中的参数名和数据类型都是不可以省去的。如以下的代码,它就是将参数名后面的数据类型省去了,代码如下本文选自Swift 1.1语言快速入门:

  • func fun(Name){

  • }

由于省去了数据类型导致程序出现了以下的错误:

  • Use of undeclared type 'Name'

7.3.2  有参函数的调用

在有参函数声明定义后,就可以调用了,其调用的一般形式如下:

函数名(参数值1,参数值2,…)

【示例7-5】以下代码将实现问候某一个人的功能。代码如下:

  • import Foundation

  • //有参函数的声明定义

  • func fun(Name: String){

  • println("Hello,\(Name)")

  • }

  • let personName1="Tom"

  • fun(personName1)                                                                                      //调用

  • let personName2="Div"

  • fun(personName2)                                                                                      //调用

在此代码中,函数调用依次将字符串"Tom"和"Div"传递给函数在定义时的参数Name,然后进行输出。运行结果如下所示本文选自Swift 1.1语言快速入门:

  • Hello,Tom

  • Hello,Div

  • Program ended with exit code: 0

当然在函数参数列表中也可以由多个参数。这时,多个参数需要使用“,”逗号分隔。

【示例7-6】以下将输出某一范围内包含的数字。代码如下:

  • import Foundation

  • //具有多个参数函数的声明定义

  • func range(start:Int,end:Int){

  •     var i=start

  •     var e=end

  •     for i;i<=e;++i{

  •         println(i)

  •     }

  • }

  • let s=1

  • let e=5

  • range(s,e)                                                                 //调用

  • 运行结果如下所示:

  • 1

  • 2

  • 3

  • 4

  • 5

  • Program ended with exit code: 0

7.3.3  参数的注意事项

在使用参数时,需要小心,避免出现问题。以下讲解常出现的两个问题本文选自Swift 1.1语言快速入门。

1.参数个数

函数在声明定义时的参数要和调用时的参数个数一致。否则,就会出现错误。例如以下代码,它的功能计算在某一范围内包含多少个元素。代码如下:

  • import Foundation

  • func range(start:Int,end:Int){

  • println(end-start)

  • }

  • let s=1

  • let e=5

  • range(s)

由于声明定义时的参数个数为2个,但是调用时的参数但是为1个。两个参数不一致,导致程序出现以下的错误提示:

  • Missing argument for parameter #2 in call

此错误信息的意思是:在调用时丢失了#2参数。

2.参数顺序

声明定义时的参数顺序一定要和调用时的参数顺序一致,否则就会出现错误,或者是逻辑上的错误。例如以下的代码,将字符串aa输出指定的次数。

  • import Foundation

  • func fun(start:Int,end:Int,str:String){

  • var i=s

  • for i;i<=end;++i{

  • println("字符串:\(str)第\(i)次输出")

  • }

  • }

  • let s=1

  • let e=5

  • var ss="a"

  • fun(s,ss,e)

在声明定义时参数的顺序为(Int,Int,String),而在调用时参数的顺序为(Int,String,Int)。两者是不一样的,所以就会出现以下的错误提示:

  • 'String' is not convertible to 'Int'

本文选自Swift 1.1语言快速入门

空函数有参函数调用参数的注意事项Swift 1.1语言的更多相关文章

  1. 对C++虚函数使用默认参数的注意事项

    本文为大便一箩筐的原创内容,转载请注明出处,谢谢:http://www.cnblogs.com/dbylk/ 备忘一个关于虚函数的小知识点 使用多态调用一个类型中定义的虚函数时,编译器会根据指针的当前 ...

  2. day11(函数参数,函数对象,打散机制,函数嵌套调用)

    一,复习 # 什么是函数:具体特定功能的代码块 - 特定功能代码块作为一个整体,并给该整体命名,就是函数 # 函数的优点: # 1.减少代码的冗余 # 2.结构清晰,可读性强 # 3.具有复用性,开发 ...

  3. Python第七天 函数 函数参数 函数里的变量 函数返回值 多类型传值 函数递归调用 匿名函数 内置函数

    Python第七天   函数  函数参数   函数里的变量   函数返回值  多类型传值     函数递归调用   匿名函数   内置函数 目录 Pycharm使用技巧(转载) Python第一天   ...

  4. Python基础(函数,函数的定义,函数的调用,函数的参数,递归函数)

    1.函数 我们知道圆的面积计算公式为: S = πr2 当我们知道半径r的值时,就可以根据公式计算出面积.假设我们需要计算3个不同大小的圆的面积: r1 = 12.34 r2 = 9.08 r3 = ...

  5. 【C语言入门教程】5.3 函数的调用 与 参数

    函数通过调用获得程序的控制权,函数的参数是调用者与函数的数据接口.函数可以定义一个或多个参数,也可以省略参数,调用时将与参数的数据类型相匹配的数据置于参数列表中,即可在函数体内使用.参数的调用有多种形 ...

  6. keil 中用函数指针调用函数的参数限制

    NSIC中,通过函数指针调用的函数的参数的个数没有限制,但是KeilC对此有限制,至多3个参数.因为,KeilC编译时,无法通过函数指针找到该函数的局部数据段,也就无法通过局部数据段传递参数,只能通过 ...

  7. JavaScript函数之实际参数对象(arguments) / callee属性 / caller属性 / 递归调用 / 获取函数名称的方法

    函数的作用域:调用对象 JavaScript中函数的主体是在局部作用域中执行的,该作用域不同于全局作用域.这个新的作用域是通过将调用对象添加到作用域链的头部而创建的(没怎么理解这句话,有理解的亲可以留 ...

  8. 利用可变参数模拟Printf()函数实现一个my_print()函数和调用可变参数注意的陷阱!

    可变参数函数的实现与函数调用的栈结构密切相关,正常情况下C的函数参数入栈规则为__stdcall, 它是从右到左的,即函数中的最右边的参数最先入栈. 例如,对于函数: void test(char a ...

  9. Python函数的定义、参数传入与函数的调用

    作为计算机代码的一种抽象方式,函数在Python中扮演了极为重要的角色.今天给大家介绍Python函数的定义.参数的传入以及调用方式.其中函数参数的传入方式为本节重点内容.Python函数的参数形式包 ...

随机推荐

  1. 遇到个小问题,Java泛型真的是鸡肋吗?

    今天遇到一个小问题,让我感觉Java的泛型(因为背负了历史的包袱导致的)有点鸡肋啊. 我们经常会遇到要一些自定义的key-value字符串,比如: "key1:1k;key2:2;key3: ...

  2. springmvc 定时器

    CronTrigger配置格式: 格式: [秒] [分] [小时] [日] [月] [周] [年] 序号 说明  是否必填  允许填写的值 允许的通配符 1  秒  是  0-59    , - *  ...

  3. [BZOJ1177][Apio2009]Oil

    [BZOJ1177][Apio2009]Oil 试题描述 采油区域 Siruseri政府决定将石油资源丰富的Navalur省的土地拍卖给私人承包商以建立油井.被拍卖的整块土地为一个矩形区域,被划分为M ...

  4. win8.1禁用和去除SkyDrive任务栏图标方法

    Win+R打开运行,输入gpedit.msc确定,打开本地组策略编辑器. 依次定位到:计算机配置-管理模板-Windows组件-OneDrive,双击阻止使用 OneDrive 执行文件储存.

  5. js检测是否安装了flash插件

    function flashChecker() { var hasFlash = 0; //是否安装了flash var flashVersion = 0; //flash版本 var isIE = ...

  6. 基于网页内容数据采集 PHP开发学习笔记

    jQuery数字的截取: str.toFixed(num);//小数的截取 toFixed() <script type="text/javascript">  var ...

  7. Linux set env export declare unset

    http://www.it165.net/os/html/201405/8390.html env /etc/profile 环境变量 系统提供 可改 set /etc/bashrc及用户自定义的变量 ...

  8. maven web项目build失败

    通过maven build发布web项目到tomcat时报如下异常: [INFO] ---------------------------------------------------------- ...

  9. Android Intent不可传递大数据

    今天用intent传递一个bitmap,结果一直出错,intent无法执行,原来是intent不能传递大数据导致的,具体是多大,不太清楚,但我传递的bitmap在1m以上.

  10. JavaScript设计模式 - 单例模式

    单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点. 一.实现一个标准的单例模式,用一个变量来标志当前是否已经为某个类创建过对象, 如果是,则在下一次获取该对象实例时,直接返回之前创建的对 ...