swift(02)基础学习

//函数不仅仅可以当作另一个函数的返回值,还可以当作参数传入到另一个函数

//condition:Int -> Bool作为一个函数传进来

func hasAnyNumbers(name:String,list:[Int],condition:Int -> Bool) -> Bool {

    for item  in list {

        

        if condition(item) {

            return true

        }


    }

    return false

}


func lessThanTen(number:Int) -> Bool {

    print(number)

    return number < 10

    

}


var numbers = [1,2,30,4,6,89,10,1,2,3,5]

hasAnyNumbers("lh",list: numbers, condition: lessThanTen)


numbers.map({

    

    (number:Int) -> Int in

    let result = 3*number

    return result

    

})


let mappedNumbers = numbers.map({number in 3*number})

print(mappedNumbers)


//对象和类:使用 class 和类名来创建一个类。类中属性的声明和常量、变量声明一样,唯一的区别就是它们的上下文是 类。同样,方法和函数声明也一样。


class name {//类的名字叫name

  

    func simple() -> String {

        

        print("干嘛")

        return "hello everyone"

        

    }

    

    

}

//实例化

var  myName = name()

//调用类里面的方法

myName.simple()

//继承父类,使用init来创建一个构造器,类似oc初始化

class lihuan :name{

    var name :String

    init(name:String) {

        

        self.name = name;

        

    }

    

    

}

//继承父类获得父类的方法

var nowName = lihuan(name: "hh")

nowName.simple()

//继承父类重写父类的方法

class rWriteName:name{

    

    override func simple() -> String {

        print("我把你的方法修改了。服不服")

        return "happy"

    }

    

}

var changeName = rWriteName()

changeName.simple()

//属性的get,set,willSet

//枚举和结构体

enum rank:Int

{

    case  Ace = 1

    case Two,Three,Four,Five,Six,Seven,Eight,Nine,Ten

    case Jack,Queen,King

    func simple() -> String {

        switch self {

        case .Ace:

            return "ace"

        default:

            return String(self.rawValue)

        }

    }


}

let ace = rank.Ace

let aceRawValue = ace.rawValue


你可能感兴趣的:(闭包,枚举结构体,对象和类)