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

《Swift 权威指南》——第6章,第6.1节函数的定义和调用

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

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

第6章 丰富多彩的功能——函数
Swift 权威指南
Swift语言为函数提供了丰富多彩的功能。但从功能上来说,Swift函数和其他语言的函数相比是非常强大的,在后面章节要介绍的方法与函数基本上一致。不过在本章先不讨论方法的细节,只介绍函数的各种功能和使用方法。

本章要点

函数的定义和调用
返回多种的函数
扩展参数
扩展参数和内部参数使用同一个名字
默认参数值
可变参数
常量和变量参数
输入/输出参数
函数类型
嵌套函数

6.1 函数的定义和调用
源代码文件:src/ch06/function/function/main.swift

Swift并不是纯的面向对象语言,所以和C++一样,支持函数。函数和方法的区别就是函数是全局的,而方法的作用域仅限于方法内。要想引用方法,必须先要引用包含该方法的对象。也可以将方法看成是定义在类中的函数。因此,函数和方法的定义规则基础一致。在后面讲到类时再详细讨论方法的细节。本节先来讨论如何定义一个函数。

不管是什么语言,函数都必须由下面几部分组成。

函数名。
返回值类型。
函数的参数列表,在列表中包含参数名(形参)和参数类型。
函数体。
定义Swift语言的函数也逃不出这几项。下面看一下Swift函数的语法形式。

func functionName(paramName1:paramType1, paramName2,paramType2,...) -> returnType { function body }

很明显,Swift函数和C语言的函数在定义上差异很大。首先,Swift函数必须以func开头,然后跟着函数名,接下来是函数参数列表,最后是返回值类型。其中函数参数列表和返回值类型之间需要用“→”分隔。最后需要用一对花括号({...})将函数体括起来,这里面函数参数类型列表和返回值类型都是可选的。如果不指定函数参数列表,则函数没有参数,但必须在函数名后面指定一对圆括号。如果不指定返回值类型,则函数没有返回值,相当于C语言函数前面指定了void。

下面是一个标准的Swift函数的代码,该函数接收一个String类型的参数,返回一个String类型的值,最后调用了sayHello函数,并输出了函数的返回值。

func sayHello(personName: String) -> String { let greeting = "hello " + personName + "!" return greeting } // 调用sayHello函数 println(sayHello("李宁"))

执行这段代码后,会输出如下内容。

hello 李宁!

下面是一些其他形式的函数(多个参数、没有参数、没有返回值)。

// 多个参数的函数 func add(a:Int, b:Int) -> Int { return a + b } // 调用add函数 println(add(20, 30)) // 没有参数,但又返回值的函数 func process() -> Float { return 3*20 } // 调用process函数 println(process()) // 既没有参数,也没有返回值的函数 func method() { println("hello world") } // 调用method方法 method()

执行这段代码后,会输出如下内容。

50 60.0 hello world
原文链接:https://yq.aliyun.com/articles/96161
关注公众号

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

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

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

文章评论

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

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章