标签:
//
// 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
/*
1:Say是函数名的地址,并且函数类型,参数为整形,返回值布尔类型
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,2,3,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)")
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/u012496940/article/details/46956227