加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swfit初学4--函数问题

发布时间:2020-12-15 07:05:41 所属栏目:百科 来源:网络整理
导读:/*-------我是帅气的分割线--------*//********** Swfit函数 *************///类似Javascript中的函数//Swfit函数 -------- 函数类型:(type,type) - returnTypefunc getMyClass(mySchool: String,myClass: String) - String{ return mySchool + "-" + myClas
/*-------我是帅气的分割线--------*/

/**********  Swfit函数  *************/

//类似Javascript中的函数
//Swfit函数 --------> 函数类型:(type,type) -> returnType


func getMyClass(mySchool: String,myClass: String) -> String{

    return mySchool + "-" + myClass
}

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

//内外部参数名称
func getMyClassName(mySchool  localSchool: String,myClass localClass: String) -> String{
    
    return localSchool + "-" + localClass
}

var myClass = getMyClassName(mySchool:"北京大学",myClass:"1班")  //一旦声明了外部参数名称,那么在调用的时候必须加上外部参数名称,否则报错


//--------- 创建是否麻烦,apple帮我们解决
// 在局部参数面前加个"#"号,会自动创建一个跟局部参数名称一个的外部参数名称
func getMyClassNewName(#mySchool: String,#myClass: String) -> String{
    
    return mySchool + "-" + myClass
}
var myNewClass = getMyClassNewName(mySchool:"北京大学",myClass:"1班")


//
func getMyClassWithSchool(mySchool :String,#myClass: String) -> String{
    return mySchool + "-" + myClass
}
var myNewClassWithSchool = getMyClassWithSchool("北京大学",myClass:"1班")


//如果不想要编译器自动为默认参数创建外部参数名称,那么需要在局部参数名称前加"_"
func jionString(stringA: String,#stringB: String,_ jioner: String = "-") -> String{
    return  stringA  + jioner + stringB
}

let jion = jionString("你",stringB:"好")
println("result = (jion)")

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


//加减乘除四个函数
//
//func add(a:Int,b:Int) -> Int{
//        return a + b
//}
//
//func minus(a:Int,b:Int) -> Int{
//
//    return a - b
//}
//
//func multiply(a:Int,b:Int) -> Int{
//    
//    return a * b
//}
//
//func divide(a:Int,b:Int) -> Int{
//    
//    return a / b
//}
//
////接受,类似函数指针
//
//var operate = add
//
//let addResult = operate(3,5)
//println("addResult = (addResult)")
//
//operate = minus   //类似函数指针
//let minusResult = operate(5,3)
//println("minusResult = (minusResult)")


/*-------我是帅气的分割线--------*/
//-------->>嵌套函数

func getOperate(operation: String) -> ((Int,Int) -> Int)?{
    
    func add(a:Int,b:Int) -> Int{
        return a + b
    }
    
    func minus(a:Int,b:Int) -> Int{
        
        return a - b
    }
    
    func multiply(a:Int,b:Int) -> Int{
        
        return a * b
    }
    
    func divide(a:Int,b:Int) -> Int{
        
        return a / b
    }
    
    switch(operation){
    case "+":
    return add
    case "-":
    return minus
    case "*":
    return multiply
    case "/":
    return divide
    default:
    return nil
    }
}

var operate2 = getOperate("+")
if let realOperate = operate2{
    println("result = (realOperate(3,5))")
}else{
    println("找不到相应的函数")
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读