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

swift中的闭包

发布时间:2020-12-14 02:43:05 所属栏目:百科 来源:网络整理
导读:// // main.swift // 闭包 // // Created by 朱敏 on 15/6/15. // Copyright (c) 2015 年 helinyu. All rights reserved. // import Foundation let names = [ "Lily" , "Anna" , "Duty" , "Poly" , "Gray" ] func compareName(s1 : String ,s2: String ) -

//

// main.swift

// 闭包

//

// Created by 朱敏 on 15/6/15.

// Copyright (c) 2015 helinyu. All rights reserved.

//


import Foundation



let names = ["Lily","Anna","Duty","Poly","Gray"]


func compareName(s1 :String,s2:String) ->Bool {return s1 < s2}


//var sortedArray = names.sorted(compareName)

//println("排列之后的变化:(sortedArray)");


var sortedArray = names.sorted({(s1:String,s2:String) -> Bool in return s1 < s2})


println("排列之后的变化:(sortedArray)");



let a = 5

//let a = 4

println(a)



//下面的函数实现了两个字符串变量的相加

func sayHello(s1 :String,s2:String){

var str = s1 + " " + s2

println("the values is :(str)")

}

sayHello("nihao","helinyu")





/*


1:func 是函数关键字

2:Say是函数名,表示函数的地址

3:Say函数 参数是整形 返回值为布尔类型

*/


func Say(num:Int)->Bool{

return num > 10

}

var By:(Int)->Bool = Say


/*

1Say是函数名的地址,并且函数类型,参数为整形,返回值布尔类型

2:(Int)->Bool 表示 函数类型,参数为整形 ,返回值为布尔类型。

即:By是函数变量(参数为整形,返回值为布尔类型) 指向函数名(Say)

*/

var b = By(10) //by(12)直接调用函数

println(b)



/*

函数Getlist说明

参数:

1:第一个参数 整形集合变量

2:第二参数,函数类型变量 参数为整形返回值布尔类型

返回值

整形集合

*/

//func GetList(arr:Int[],pre:(Int)->Bool) ->Int[]{

// //定义一个空的可变整形集合

// var tempArr = Int[]()

//

// for temp in arr {

// if pre(temp){

// tempArr += temp;

// }

// }

// return tempArr;

//}

//

///*

//调用Getlist 说明

//第一个参数 整形数组 [1,2,3,4]

//第二个参数 闭包 来指向给 函数类型

//{(s) in return s>2} 闭包类型说明,参数为整形,返回值为布尔类型

//*/

//let arr=GetList([1,4],{(s:Int) in return s>2})

//println(arr)



//类中实例属性没有初始化的时候,是编译不过去的。

//解决:1)定义变量的时候做好初始化 2)使用初始化方法进行初始化



class Rect

{

// var width:Int = 0;

// var height:Int = 0;

//或者

// var width:Int;

// var height:Int;

//

// //初始化方法

// init()

// {

// width = 0;

// height = 0;

// }

//3)又或者

var width:Int;

var height:Int;

init(w:Int,h:Int)

{

width = w;

height = h;

}


func setSize(w:Int,height:Int)

{

width = w;

self.height = height;

}

// func getArea() -> Int{

// return self.width * height;

// }

}


//var rect = Rect();

//rect.setSize(10,height: 20);

var rect = Rect(w:10,h:20)

println("求得的面积是:(rect)")

println("求得的面积是:(rect)")

(编辑:李大同)

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

    推荐文章
      热点阅读