Swift学习 --- 2.6函数

<span style="font-size:18px;">

    //1.返回元组的函数 参数 : 字符串 返回 : 元组
    func count(string: String) -> (vowels: Int, consonants: Int, others: Int) {
        var vowels = 0, consonants = 0, others = 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:
                ++others
            }
        }
        return (vowels, consonants, others)
    }
    
    //2.基本函数 参数 : 字符串 返回 : 字符串
    func sayHello(name : String) -> String {
        return "wyl say hello to " + name
    }
    
    //3.给函数参数外部命名
    func add (one one1 : Int , two two1 : Int ) -> Int{
        return one1 + two1
    }
    
    //4. 给外部参数名默认值
    func add2 (one one1 : Int , two two1 : Int = 0) -> Int{
        return one1 + two1
    }
    
    //5. 不是外部参数带有默认值 调用必须是这样的 let result2 = add3(2,two : 1) 带上label
    func add3 (one : Int , two : Int = 0) -> Int {
        return one + two
    }
    
    //6. 可变参数
    func arithmeticMean(numbers: Double...) -> Double {
        var total: Double = 0
        for number in numbers {
            total += number
        }
        return total / Double(numbers.count)
    }

    //7.输入输出参数
    func changeNum(inout x : Int , inout y : Int){
        let temporaryA = x
        x = y
        y = temporaryA
    }
    
    //8.函数类型
    func addTwoInts(a: Int, b: Int) -> Int {
        return a + b
    }
    
    //9.嵌套函数与返回函数
    //参数 为一个bool 返回一个参数为int 返回值为int的函数
    func chooseStepFunction(backwards: Bool) -> (Int) -> Int {
        func stepForward(input: Int) -> Int { return input + 1 }
        func stepBackward(input: Int) -> Int { return input - 1 }
        return backwards ? stepBackward : stepForward
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        println(sayHello("jack"))
        
        let yuanzu = count("wyl")
        println("\(yuanzu.vowels) vowels and \(yuanzu.consonants) consonants")

        let result = add(one :1, two :2)
        println(result)
        
        let result1 = add2(one :1)
        println(result1)
        
        let result2 = add3(2,two : 1)
        println(result2)
        
        var x1 = 10
        var y1 = 20
        changeNum(&x1,y:&y1)
        
        var math : (Int, Int) -> Int = addTwoInts
        println(math(1,5))

    }


</span>

你可能感兴趣的:(ios,swift)