zoukankan      html  css  js  c++  java
  • Swift2.0语言教程之Swift2.0语言中的标准函数

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

    Swift2.0中的标准函数

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

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

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

     

    • abs(数值)

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

    【示例7-17】以下将使用abs()函数获取-10、10、0、-1.233、1.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.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)'

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

    在一个序列中,往往需要获取元素的最大值或者最小值。此时可以使用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

    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()函数对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]

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

    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人!

  • 相关阅读:
    ES6笔记分享 part 2
    ES6笔记分享 part 1
    JS事件之自建函数bind()与兼容性问题解决
    JavaScript DOM事件对象的两个小练习 | 学习内容分享
    JavaScript数组的方法 | 学习笔记分享
    JavaScript构造函数 | 学习笔记分享
    Hexo+Github个人博客搭建 | 实战经验分享
    Hello world!
    “1+X”证书Web前端开发等级考试简介
    1+x证书Web 前端开发初级——理论考试(试卷1)
  • 原文地址:https://www.cnblogs.com/daxueba-ITdaren/p/4654594.html
Copyright © 2011-2022 走看看