初学 Swift ,实现加减乘除功能和函数的基本类型

//计算器: 回调 


typealias count  = ( Int  , Int  ) -> Int

func add(a :Int ,b :Int) ->Int {

    return a+b

}
func  delete(a :Int ,b :Int) ->Int {
    
    return a-b
    
}
func cheng(a :Int ,b :Int) ->Int {
    
    return a*b
    
}
func dev(a :Int ,b :Int) ->Int {
    
    return a/b
    
}

func abc (fun : count, x : Int , y: Int) -> Int {

return fun(x,y)

}
//var  f :count =add
print(abc(add, x: 2, y: 3))
print(abc(delete, x: 2, y: 3))
print(abc(cheng, x: 2, y: 3))
print(abc(dev, x: 2, y: 3))
//MARK:
//MARK: ////////8.函数///////

//c语言 函数类型 :1,无返回值,无参数 2,有返回值,无参数 3,无返回值,有参数,4,有返回值,有参数;

//函数 是用来完成特定任务的代码块 ,你给代码块起名字,用来作为标示,当需要执行这个代码块的时候,就调用这个名字;


//1.无返回值 ,无参数
func fun1() -> Void{
 print("无返回值,无参数")

}

//2.有返回值,无参数 ;
func fun2() -> String
{
return "lzy"

}
//3,无返回值,有参数
func fun3(a: Int , b : Int) -> Void
{
print(a+b)

}
//4 ,有返回值,有参数;用a: 调用 float 类型的函数
func fun4(a :Int, b:Float)-> Float{
return   Float(a)+b

}
//调用函数
fun1()
print( fun2() )

fun3(3, b: 5) //没有返回值 ;

print(  fun4(3, b: 5) )  //有返回值;


 // 5 .多个返回值 的函数 
func fun5(a :Int ,b :Int ) -> (Int ,Float){

return (a , Float(b))

}
print(fun5(3, b: 5))

let (first ,second) = fun5(3, b: 5)

print(first)
print(second)

print(fun5(3, b: 5).0)

print(fun5(3, b: 5).1)  //


func fun6(name name : String ,age : Int){
print("name is \(name), age  = \(age)")
}
fun6(name: "lzy", age: 21)


//交换两个数的值
func fun7(inout  a :Int ,inout b :Int) -> Void{
    a  =  a ^ b ;
    b =  a ^ b ;
    a =  a ^ b  ;


}
var   x : Int  = 5 ;
var    y : Int   =  10 ;
fun7(&x, b: &y)
print("x = \(x) ,y = \(y)")



//函数指针
typealias  swapFunc = (inout Int ,inout Int ) ->Void

var  p_fun :swapFunc  =  fun7

p_fun(&x, &y)
print("x = \(x) ,y = \(y)")


//函数指针 作为参数 ;

func fun8(pfun : swapFunc , inout a : Int ,inout b : Int){

pfun(&a, &b)


}

fun8(p_fun, a: &x, b: &y)
print("x = \(x) ,y = \(y)")


// 函数指针作为 返回值
func fun9() -> swapFunc{
//在函数体 里面定义的 ;
    let p_func : swapFunc  = fun7
    return p_func

}
fun9()(&x ,&y)
print("x = \(x), y =\(y)")

我认为未来苹果公司的主流语言是 swift,这估计到2020年啦.到时候我也有5年学习经验啦.