文档章节

Swift2.0语言教程之Swift2.0语言中的标准函数

大学霸
 大学霸
发布于 2015/07/17 15:10
字数 1972
阅读 330
收藏 4

Swift2.0语言教程之Swift2.0语言中的标准函数

Swift2.0中的标准函数

函数除了可以根据参数列表的有无分为无参函数和有参函数,还可以从定义角度分为用户自定义函数和标准函数两种。以上的示例都是用户自定函数。Swift提供了74个标准函数,这些函数都可以直接去使用,不需要进行定义。本节将针对常用的标准函数进行详细的讲解。

Swift2.0中的绝对值函数abs()

abs()函数的功能是求数值的绝对值。其语法形式如下:

  • abs(数值)

函数的返回值是一个零或者正数。

【示例7-17】以下将使用abs()函数获取-10100-1.2331.233的绝对值。代码如下:

  • import Foundation

  • //求整数的绝对值

  • let value1=abs(-10)

  • let value2=abs(10)

  • let value3=abs(0)

  • //求浮点数的绝对值

  • let value4=abs(-1.233)

  • let value5=abs(1.233)

  • print("value1=\(value1)")

  • print("value2=\(value2)")

  • print("value3=\(value3)")

  • print("value4=\(value4)")

  • print("value5=\(value5)")

在此代码中,正数的绝对值是它本身;负数的绝对值为正数;0的绝对值还为0。运行结果如下:

  • value1=10

  • value2=10

  • value3=0

  • value4=1.233

  • value5=1.233

注意:abs()中的参数必须是数值,不可以是数值以外的东西,如字符、字符串等。如以下的代码,将获取字符串"aaa"的绝对值。代码如下:

  • import Foundation

  • let value1=abs("aaa")

  • print("value1=\(value1)")

由于abs()的参数为字符串导致程序出现了以下错误:

  • Cannot find an overload for 'abs' that accepts an argument list of type '(String)'

Swift2.0中最大值函数max()/最小值min()

在编程中,经常需要计算几个参数的最大值或者最小值,此时可以使用标准函数中的max()min()函数实现。以下是对这两个函数的详细讲解。

1.获取最大值

max()函数可以获取几个参数的最大值。其语法形式如下:

  • max(参数1,参数2,参数3,)

其中,参数可以是数值,也可以是字符串或字符。

【示例7-18】以下将使用max()函数,依次获取1.910的最大值,13.82088.88的最大值以及字符串"Hello""Swift""Zone"的最大值。代码如下:

  • import Foundation

  • let maxValue1=max(1.9,10)

  • let maxValue2=max(13.8,20,88.88)

  • let maxValue3=max("Hello","Swift","Zone")

  • print("maxValue1=\(maxValue1)")

  • print("maxValue2=\(maxValue2)")

  • print("maxValue3=\(maxValue3)")

在对字符串进行比较时,是对字符串中的字符进行比较。首先会判断3个字符的首字符哪个大。如果找到最大的字符,就以此字符开头的字符串为最大值;如果判断的3个首字符相同,那么在进行第二个字符的比较,以此类推。运行结果如下:

  • maxValue1=10.0

  • maxValue2=88.88

  • maxValue3=Zone

2.获取最小值

min()函数可以获取几个参数的最小值。其语法形式如下:

  • min(参数1,参数2,参数3,)

其中,参数同样可以是数值、字符串或字符。

【示例7-19】以下将使用min()函数,获取1.910的最小值,获取13.82088.88的最小值,字符串"Swift""Hello""iOS"的最小值。代码如下:

  • import Foundation

  • let minValue1=min(1.9,10)

  • let minValue2=min(13.8,20,88.88)

  • let minValue3=min("Swift","Hello","iOS")

  • print("minValue1=\(minValue1)")

  • print("minValue2=\(minValue2)")

  • print("minValue3=\(minValue3)")

运行结果如下:

  • minValue1=1.9

  • minValue2=13.8

  • minValue3=Hello

注意:在使用max()min()时如果是数值,比较的参数都是数值。如果是字符或者字符串,比较的参数也是字符或者字符串。不可以在一个函数中同时比较数值和字符串、字符。以下的代码将比较1.910和字符串"Hello"的最小值。代码如下:

  • import Foundation

  • let minValue=min(1.9,10,"Hello")

  • println("minValue=\(minValue)")

在此代码中,由于min()函数对数值和字符串进行比较,导致程序出现了以下的错误:

  • Cannot find an overload for 'min' that accepts an argument list of type '(Double, Int, String)'

Swift2.0中序列的最大值函数maxElement()/最小值函数minElement()

在一个序列中,往往需要获取元素的最大值或者最小值。此时可以使用maxElement()minElement()函数。以下是对这两个函数的详细讲解。

1.序列的最大值

maxElement()函数获取一个序列中最大值的元素。其语法形式如下:

  • 序列.maxElement()

其中,序列可以是数值,也可以是一个范围。

【示例7-20】下面使用maxElement()函数获取序列sequence1sequence2和范围1...100中最大值的元素。代码如下:

  • import Foundation

  • let sequence1=[9,8,2,3]

  • let sequence2=["Ad","Ab","Ac"]

  • let maxValue1=sequence1.maxElement()!

  • print("maxValue1=\(maxValue1)")

  • let maxValue2=(1...100).maxElement()!

  • print("maxValue2=\(maxValue2)")

  • let maxValue3=sequence2.maxElement()!

  • print("maxValue3=\(maxValue3)")

其中,字符串构成的序列sequence2的判断方式与函数max()相同,都是依次比较字符串的字母大小。运行结果如下:

  • maxValue1=9

  • maxValue2=100

  • maxValue3=Ad

2.序列的最小值

minElement()函数可以获取一个序列中最小值的元素。其语法形式如下:

  • 序列.minElement()

其中,序列可以是数值,也可以是一个范围。

【示例7-21】以下将使用minElement()函数获取序列sequence1sequence2和范围1...100中最小值的元素。代码如下:

  • import Foundation

  • let sequence1=[9,8,2,3]

  • let sequence2=["Ad","Ab","Ac"]

  • let minValue1=sequence1.minElement()!

  • print("minValue1=\(minValue1)")

  • let minValue2=(1...100).minElement()!

  • print("minValue2=\(minValue2)")

  • let minValue3=sequence2.minElement()!

  • print("minValue3=\(minValue3)")

运行结果如下:

  • minValue1=2

  • minValue2=1

  • minValue3=Ab

Swift2.0中判断序列是否包含指定元素函数contains()

contains()函数可以判断一个序列中是否包含指定的元素。其语法形式如下:

  • 序列.contains(元素)

其中,函数的返回值类型为布尔类型。当返回true时,表示表达序列中包含指定的元素;当返回false时,表示不包含。

【示例7-22】以下代码使用contains()函数函数判断序列languages中是否包含元素"Swift""Java"。代码如下:

  • import Foundation

  • var languages = ["Swift", "Objective-C","C"]

  • //判断在languages数组中是否包含"Swift"字符串

  • if languages.contains("Swift") == true  {

  •     print("languages序列中包含元素“Swift")

  • }else{

  •     print("languages序列中不包含元素“Swift")

  • }

  • //判断在languages数组中是否包含"Java"字符串

  • if languages.contains("Java") == true  {

  •     print("languages序列中包含元素“Java")

  • }else{

  •     print("languages序列中不包含元素“Java")

  • }

在此代码languages"Swift""Objective-C""C"这三个元素,但是没有"Java"元素。运行结果如下:

  • languages序列中包含元素“Swift”

  • languages序列中不包含元素“Java”

在比较的时候,会区分字母的大小写。所以,不同大小写的字符串是不同的。

Swift2.0中的序列排序函数sortInPlace()

在编程中,经常需要对序列中元素的进行排序。此时可以使用Swift中的sortInPlace()函数来实现。其语法形式如下:

  • 序列.sortInPlace()

其中,序列是指数组。

【示例7-23】以下将使用sort()函数对languagesvalue数组进行排序。代码如下:

  • import Foundation

  • var languages = ["Swift", "Objective-C","C"]

  • print("排序前:languages=\(languages)")

  • languages.sortInPlace()

  • print("排序后:languages=\(languages)")

运行结果如下:

  • 排序前:languages=[Swift, Objective-C, C]

  • 排序后:languages=[C, Objective-C, Swift]

Swift2.0中的序列倒序函数reverse()

reverse()函数可以将序列中元素的倒序排列。其语法形式如下:

  • 序列.reverse()

其中,序列是指数组。

【示例7-24】以下将使用reverse 函数对序列languagesvalue进行倒序排列。代码如下:

  • import Foundation

  • var languages = ["Swift", "Objective-C","C"]

  • print("languages=\(languages)")

  • print("倒序输出:")

  • for i in Array(languages.reverse()){

  •     print(i)

  • }

  • var value = [1,8,4,10]

  • print("value=\(value)")

  • print("倒序输出:")

  • for i in Array(value.reverse()){

  •     print(i)

  • }

运行结果如下:

  • languages=[Swift, Objective-C, C]

倒序输出:

  • C

  • Objective-C

  • Swift

  • value=[1, 8, 4, 10]

倒序输出:

  • 10

  • 4

  • 8

  • 1

本文选自:Swift2.0语言快速入门v3.0 大学霸内部资料,转载请注明出处,尊重技术尊重IT人!


© 著作权归作者所有

大学霸
粉丝 270
博文 908
码字总数 557321
作品 0
东城
程序员
私信 提问
Swift2.0语言教程之函数嵌套调用形式

Swift2.0语言教程之函数嵌套调用形式 Swift2.0语言函数嵌套调用形式 在Swift中,在函数中还可以调用函数,从而形成嵌套调用。嵌套调用的形式往往有两种:一种是在一个函数中调用其他函数;另...

大学霸
2015/07/20
949
0
Swift2.0语言教程之函数的返回值与函数类型

Swift2.0语言教程之函数的返回值与函数类型 Swift2.0中函数的返回值 根据是否具有返回值,函数可以分为无返回值函数和有返回值函数。以下将会对这两种函数类型进行讲解。 Swift2.0中具有一个...

大学霸
2015/07/17
420
0
Swift2.0语言教程之闭包

Swift2.0语言教程之闭包 Swift2.0语言闭包 闭包是自包含的函数代码块,可以在代码中被传递和使用。Swift中的闭包与C和Objective-C中的代码块(blocks)以及其他一些编程语言中的Lambda函数比...

大学霸
2015/07/20
207
0
Swift2.0语言教程之类的嵌套与可选链接

Swift2.0语言教程之类的嵌套与可选链接 Swift2.0语言类的嵌套 在一个类中可以嵌套一个或者多个类。它们的嵌套形式也是不同的,大致分为了两种:直接嵌套和多次嵌套。下面依次讲解这两种方式。...

大学霸
2015/07/22
182
0
写在新书《Swift开发手册:技巧与实战》出版之际

1月份的时候新书出版了,正值研究生毕业之际,想写点什么又无法抵抗毕业浮躁的心态,所以推到了正式入职之后。首先当然还是想安利一波,新书封面见如下: 2014年年底因为跟同学组队参加竞赛的...

cg1991130
2016/03/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Qt qml 自定义消息提示框

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/a844651990/article/details/78376767 Qt qml 自定义消息提...

shzwork
昨天
5
0
Linux安装JDK

(rpm) ⒈下载:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html ⒉安装 rpm -ivh jdk-8u202-linux-x64.rpm ⒊配置环境变量 vim /etc/profile 添加......

无名氏的程序员
昨天
2
0
The POM for xxx is invalid, transitive dependencies (if any) will not be available

The POM for xxx is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details 问题描述 在使用maven打包时,log信息中打印出:[**WARNIN......

lwenhao
昨天
6
0
setState() called after dispose() flutter

# 在setState前加入以下判断if (!mounted) return;

zdglf
昨天
4
0
docker和docker-compose二种方式安装mysql8.0

Docker方式安装 在命令行下运行 docker run -d -p 3306:3306 --restart always --privileged=true--name mysql-e MYSQL_USER="test" -e MYSQL_PASSWORD="test" -e MYSQL_ROOT_PASSWOR......

小白的成长
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部