函数的类型

作为函数返回类型使用

我们可以吧函数类型做为另一个函数的返回类型使用

func ifunc() -> (String -> String) {
    func youfunc(name:String) -> String {
        return "this is \(name) func";
    }
    
    return youfunc;
}

var funcs = ifunc();

funcs("liulibo");

作为参数类型使用

我们可以把函数类型作为另一个函数的参数类型使用

func checks(num:Int, funs:(Int -> Bool)) -> Bool {
    return funs(num);
}

func num_check(num:Int) -> Bool {
    if num > 100 {
        return true;
    } else {
        return false;
    }
}

println(checks(2000,num_check));