• Swift-函数学习


    函数:函数是独立的代码块,执行特定的任务。

    Swift 的统一函数语法足够灵活,能表达没有参数名称的简单的 C 型函数的任何东西,本地和外部复杂 Objective-C-style 方法参数名称为每个参数。一旦函数完成其执行,参数可以提供默认值来简化函数调用, 并且可以作为输入输出参数来传递,修改一个传递变量。

    Swift 中的每个函数都有各自的类型,包括函数的参数类型和返回类型。此类型类似于 Swift 中的任何 其他类型,您可以使用此类型,使它很容易将函数作为参数传递给其他函数,并从函数返回函数。函数也可以 写在其他函数中,来封装一个嵌套函数范围内的有用的功能。 

    定义和调用函数:

    当你定义一个函数时,您可以选择性地定义一个或多个命名类型值,函数作为输入(称为参数),和/或一个类型的值,当它完成后函数将作为输出返回(称为其返回类型)。

    每一个函数都有一个函数名,用于描述该函数所执行的任务。使用一个函数,你用它的名字“调用”函数 并将其传递给匹配函数参数类型的输入值(称为参数)。所提供的函数的参数必须与函数的参数列表顺序相 同。 

    简单举一个例子:定义一个名称为sayhello的函数,一个类型为字符串的参数personName,返回值也是字符串类型:

    //单个参数
    func  sayhello ( personNmae: String)->String{
    let greatName = "hello  " + personNmae + "!"
    return greatName
    }
    

    写一句输出语句:

    println(sayhello("tom"))
    

    此时在控制台上可以看到输出这么一句话:"hello  tom!"

    简单分析一下这个代码块:func关键字是声明一个函数,sayhello是定义的函数名,personName是类型为字符串的参数,用->表示函数的返回值,后面跟函数的返回类型。

    如果想要函数具有两个参数,参考C语言,可以很容易的想到下面这种方式,输入两个int型的参数,计算两者的和:

    func sum (one:Int,two:Int)->Int{
    return one + two
    }
    println(sum(2,4))
    //此时输出的结果是6

    注意:当函数中有多个参数时,需要用逗号分隔。


    无参数函数:不要求函数对输入参数进行定义。这是一个没有输入参数的函数,当被调用时,它总是返回相同的字符串消息。 
    //无参函数
    func NoPrame()->String{
        return "这是一个无参函数"
    }
    
    println(NoPrame())
    

    虽然该函数不采取任何参数,但是该函数名依然需要放在括弧中。当函数被调用时,函数名后要有一 对空括号。 

    无返回值函数:不要求函数对返回类型进行定义。这里定义了一个NoReturn函数,它会打印自 己的字符串值,而不是返回它:

    //无返回值函数
    func NoReturn(onewords:String){
    println("这是(onewords)")
        
    }
    
    NoReturn("一句话")
    //函数内部会输出:一句话
    

    具有多个返回值的函数:下面的例子定义了一个名为 count 函数,它计算元音,辅音,和某一字符串中的其他字符,基于美国 英语中使用元音和辅音的标准设定。 

    //具有多个返回值的函数,元组类型作为函数的返回类型
    func count(string:String)->(vowels:Int,consonants:Int){
    var vowels = 0,consonants = 0
        for character in string{
            switch String(character).lowercaseString{
            case "a","e","i","o","u":
                ++vowels
                case "b", "c", "d", "f", "g", "h", "j", "k", "l", "m", "n", "p", "q", "r", "s", "t", "v", "w", "x", "y", "z":
                ++consonants
            default:
                break
            }
        }
        return(vowels,consonants)
    }
    

    在这里进行count函数的调用:

    let total = count("some arbitrary string!")
    println("(total.vowels) vowels and (total.consonants) consonants")
    

    控制台会输出:"6 vowels and 13 consonants"

  • 相关阅读:
    CSU1312:榜单(模拟)
    uvalive 2326
    TOJ 2732存钱计划(三)(单源最短路)
    CSU1315:全场最水题之陈兴老师与比赛
    【图像处理】最临近插值和双线性内插值算法实现比较
    TOJ3744(Transportation Costs)
    汉语-词语:莝夫
    汉语-词语:臬司
    汉语-词语:幕宾
    汉语-词语:能力
  • 原文地址:https://www.cnblogs.com/li--nan/p/4505621.html
Copyright © 2020-2023  润新知