Swift学习 --- 2.6函数

11 篇文章 0 订阅
<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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值