函数除了能够根据参数列表的有无分为无参函数和有参函数,还能够从定义角度分为用户自定义函数和标准函数两种。以上的示例都是用户自定函数。Swift提供了74个标准函数,这些函数均可以直接去使用,不须要进行定义。本节将针对经常使用的标准函数进行详细的讲解。编程
abs()函数的功能是求数值的绝对值。其语法形式以下:数组
abs(数值)函数
函数的返回值是一个零或者正数。spa
【示例7-17】如下将使用abs()函数获取-10、10、0、-1.233、1.233的绝对值。代码以下:orm
import Foundation排序
//求整数的绝对值教程
let value1=abs(-10)字符串
let value2=abs(10)it
let value3=abs(0)io
//求浮点数的绝对值
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)'
在编程中,常常须要计算几个参数的最大值或者最小值,此时可使用标准函数中的max()和min()函数实现。如下是对这两个函数的详细讲解。
1.获取最大值
max()函数能够获取几个参数的最大值。其语法形式以下:
max(参数1,参数2,参数3,…)
其中,参数能够是数值,也能够是字符串或字符。
【示例7-18】如下将使用max()函数,依次获取1.9和10的最大值,13.8、20、88.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.9和10的最小值,获取13.8、20、88.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.9、10和字符串"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)'
在一个序列中,每每须要获取元素的最大值或者最小值。此时可使用maxElement()和minElement()函数。如下是对这两个函数的详细讲解。
1.序列的最大值
maxElement()函数获取一个序列中最大值的元素。其语法形式以下:
序列.maxElement()
其中,序列能够是数值,也能够是一个范围。
【示例7-20】下面使用maxElement()函数获取序列sequence1、sequence2和范围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()函数获取序列sequence1、sequence2和范围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
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”
在比较的时候,会区分字母的大小写。因此,不一样大小写的字符串是不一样的。
在编程中,常常须要对序列中元素的进行排序。此时可使用Swift中的sortInPlace()函数来实现。其语法形式以下:
序列.sortInPlace()
其中,序列是指数组。
【示例7-23】如下将使用sort()函数对languages和value数组进行排序。代码以下:
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]
reverse()函数能够将序列中元素的倒序排列。其语法形式以下:
序列.reverse()
其中,序列是指数组。
【示例7-24】如下将使用reverse 函数对序列languages和value进行倒序排列。代码以下:
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人!