• 初学 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年学习经验啦.

  • 相关阅读:
    JUnit-4.11使用报java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing错误
    生成验证码图片
    九九乘法表
    Java注解之Retention、Documented、Target、Inherited介绍
    【ztree】zTree节点增删改&ztree对树节点进行检索
    一次性搞清楚equals和hashCode
    HashMap实现原理分析
    DDL、DML和DCL的区别与理解
    MySQL的@与@@区别
    springboot整合mybatis(SSM开发环境搭建)&Springboot项目热部署
  • 原文地址:https://www.cnblogs.com/woshizhenyi/p/4969932.html
Copyright © 2020-2023  润新知