//  写功能初体验
func getMyName(firstName first:String, lastName last:String) -> String{ //return first + "-" + last
return first + last
}
var myName = getMyName(firstName: "hu", lastName: "mingtao")
println("myName = \(myName)") func getMyName1(#firstName:String, #lastName:String) -> String{ return firstName + lastName
}
var myName1 = getMyName(firstName: "hu", lastName: "mingtao")
println("myName1 = \(myName1)") func getMyName2WithFirstName(firstName:String, #lastName:String) -> String{ //return first + "-" + last
return firstName + lastName
}
var myName2 = getMyName2WithFirstName("hu", lastName: "mingtao")
println("myName2 = \(myName2)") func getMyName3(firstName:String, lastName:String) -> String{ //return first + "-" + last
return firstName + lastName
}
var myName3 = getMyName3("hu", "mingtao")
println("myName3 = \(myName3)") // "默认值"參数在函数调用的时候能够不写,编译器会自己主动调用声明时候设置的默认的值
// 编译器会自己主动为"默认值"參数创建一个和局部參数名称一样的外部參数名称
// 假设不想要编译器自己主动为"默认值"參数创建外部參数名称,那么须要在局部參数名称之前加"_"
func jionString(stringA:String, #stringB:String, _ joiner:String = "-") -> String{ return stringA + joiner + stringB
}
var resultString = jionString("hu", stringB: "mingtao", "100") func caculateMean(numbers: Int...) -> Double{ var sum = 0
for number in numbers{
sum += number
}
return Double(sum) / Double(numbers.count)
}
let mean = caculateMean(1,2,3,4,5,6)
println("\(mean)") func swap(inout a: Int, inout b: Int){ var temp = a
a = b
b = temp
}
var swapedValueA = 3
var swapedValueB = 5
// 交换值,相似于C语言,用&取地址传(代码也有提示功能)
swap(&swapedValueA, &swapedValueB) 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{ if b != 0{ return a / b
}
return 0
} var operate = add
let addResult = operate(3,5)
println("\(addResult)")
operate = minus
let minusResult = operate(5,3) func getOperate(operation: String) -> ((Int, Int) -> Int)?{ 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))")
} // 运算符重载
let a = 3
let b = 3.5
@infix func + (leftValue: Int, rightValue: Double) -> Double{
return Double(leftValue) + rightValue
}
let sum = a + b // 闭包
func sortArray(array: String[]) -> String[]{ let used: (String, String) -> Bool = {(stringA: String,stringB: String) -> Bool in return stringA > stringB}
let sortedArray = sort(array,{(stringA: String,stringB: String) -> Bool in stringA > stringB})
let sortedArray1 = sort(array,{(stringA: String,stringB: String) -> Bool in return stringA > stringB})
let sortedArray2 = sort(array,{stringA ,stringB in stringA > stringB})
let sortedArray3 = sort(array,{$0 > $1})
let sortedArray4 = sort(array,>)
let sortedArray5 = sort(array){(stringA: String,stringB: String) -> Bool in return stringA > stringB}
return sortedArray
}

版权声明:本文博客原创文章,博客,未经同意,不得转载。

Swift初体验(两)的更多相关文章

  1. swift初体验

    swift是一门类型安全的语言,同样也是基于c语言 那么c语言的一些类型也是实用的,不同的是:swift声明变量和常量是不一样的 let:用来修饰常量:var用来修饰变量 e.g: let num=1 ...

  2. Swift初体验之图案锁

    这篇在应用上貌似没有价值,貌似我写了好多实际上都没有价值,这里贴出来就是分享下. 自己写swift好多天了,感觉好多东西还是不太懂,边学边做,互勉! 先上图: 代码:下载

  3. Swift初体验之HelloWord+苹果Swift编程语言新手教程【中文版】

    AppDelegate.swift : <span style="font-size:24px;"><strong>// // AppDelegate.sw ...

  4. Swift初体验(三)

    /*******************************************************************************/ // 协议 protocol Des ...

  5. Swift初体验 (一)

    // 声明一个常量 let maxNumberOfStudents: Int = 47 // 声明一个变量,假设没有在声明的时候初始化,须要显示的标注其类型 var currentNumberOfSt ...

  6. swift基本体验

    Swift初体验 1. 导入框架 2. 定义标识符: let/var 3. 语句结束时;可以省略 4. print() 5. let/var 6. 逻辑分支 7. 循环使用 // 1.Swift中如何 ...

  7. Swift与C++混编 OpenCV初体验 图片打码~

    OpenCV初体验,给图片打码 提到OpenCV,相信大多数人都听说过,应用领域非常广泛,使用C++开发,天生具有跨平台的优势,我们学习一次,就可以在各个平台使用,这个还是很具有诱惑力的.本文主要记录 ...

  8. Node.js 网页瘸腿爬虫初体验

    延续上一篇,想把自己博客的文档标题利用Node.js的request全提取出来,于是有了下面的初哥爬虫,水平有限,这只爬虫目前还有点瘸腿,请看官你指正了. // 内置http模块,提供了http服务器 ...

  9. Spring之初体验

                                     Spring之初体验 Spring是一个轻量级的Java Web开发框架,以IoC(Inverse of Control 控制反转)和 ...

随机推荐

  1. 使用 WPF 实现所见即所得HTML编辑器

    Introduction In this tip, you will learn the use of WPF webbrowser control and the use of the librar ...

  2. 【Web探索之旅】第二部分第四课:数据库

    内容简介 1.第二部分第四课:数据库 2.第二部分第五课预告:响应式网站 第二部分第四课:数据库 说到“数据库”,顾名思义,是“数据的仓库”的意思. 所以数据库的一大作用就是储存数据咯. 为什么Web ...

  3. 【Web探索之旅】第二部分第一课:客户端语言

    内容简介 1.第二部分第一课:客户端语言 2.第二部分第二课预告:服务器语言 第二部分:Web编程语言和工具 大家好.上一个部分我们学习了Web的一些基本概念: 什么是Web? Internet和We ...

  4. DMA为什么比轮询、中断方式性能要卓越非常多?(你不懂)

    本文原创为freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/35735397 假设是计算机专业出身的同学,都听过一个 ...

  5. SRM 590 DIV1

    转载请注明出处,谢谢viewmode=contents">http://blog.csdn.net/ACM_cxlove?viewmode=contents    by---cxlov ...

  6. DOM手术台

    CSS分类 排队: <div id="box" style="width:200px;border:1px solid red color:red;font-siz ...

  7. Webuploader 大文件分片上传

    百度Webuploader 大文件分片上传(.net接收)   前阵子要做个大文件上传的功能,找来找去发现Webuploader还不错,关于她的介绍我就不再赘述. 动手前,在园子里找到了一篇不错的分片 ...

  8. SqlServer中存储过程中将Exec的执行结果赋值给变量输出

    原文 SqlServer中存储过程中将Exec的执行结果赋值给变量输出 背景: 遇到这样一种情况:动态向存储过程中传入表名和表的某些属性(这里用到的是主键ID),然后利用这两个变量查出一条数据的某些字 ...

  9. Swift继承

    //声明一个基类 class vehicle { var maxPassenger : Int = 0 var manufacturer : String! func description() -& ...

  10. nyist 488 素数环(搜索+回溯)

     素数环 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描写叙述 有一个整数n,把从1到n的数字无反复的排列成环,且使每相邻两个数(包含首尾)的和都为素数,称为素数环. ...