现在的位置: 首页 > 综合 > 正文

Swfit初学5

2018年08月04日 ⁄ 综合 ⁄ 共 1070字 ⁄ 字号 评论关闭
/*-------我是帅气的分割线--------*/

//可变参数

func caculateMean(numbers: Int ...) -> Double{

    var sum = 0
    for number in numbers{
        sum += number
    }
    return Double(sum) / Double(numbers.count)
}

let meau = caculateMean(1,2,3,4,5,6)
println("meau = \(meau)")



//交换 加inout改变常量

func swap(inout a: Int ,inout b:Int){
    var temp = a
    a = b
    b = temp
}

var swapedValueA = 3
var swapedValueB = 5

swap(&swapedValueA,&swapedValueB)

println("A = \(swapedValueA) B = \(swapedValueB)")


/*-------我是帅气的分割线--------*/

//运算符重载
let a = 3
let b = 3.5

//let sum = a + b

//重载加号
@infix func + (leftValue: Int ,rightValue: Double) -> Double{
    return Double(leftValue) + rightValue
}

let sum = a + b


/*---------------我是帅气的分割线--------*/

//闭包的使用 --- 类似block

func sortArray(array:String[]) -> String[]{
//    let used: (String,String) -> Bool = {(stringA:String,stringB:String) -> Bool in
//        return stringA > stringB
//    }
//形式1
//    let sortedArray = sort(array,{(stringA:String,stringB:String) -> Bool in
//        return stringA > stringB}) //如果只返回一句,可以将"return"关键字省略
    
//形式2
//    let sortedArray = sort(array,{$0 > $1}) //利用元组的属性来获取

//形式3
//    let sortedArray = sort(array, >) //运算符重载
    
//形式4 
    let sortedArray = sort(array){
        (stringA: String,stringB:String) -> Bool in
        return stringA > stringB
    }
    return sortedArray
}

抱歉!评论已关闭.