Swift初体验(两)
// 写功能初体验
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初体验(两)的更多相关文章
- swift初体验
swift是一门类型安全的语言,同样也是基于c语言 那么c语言的一些类型也是实用的,不同的是:swift声明变量和常量是不一样的 let:用来修饰常量:var用来修饰变量 e.g: let num=1 ...
- Swift初体验之图案锁
这篇在应用上貌似没有价值,貌似我写了好多实际上都没有价值,这里贴出来就是分享下. 自己写swift好多天了,感觉好多东西还是不太懂,边学边做,互勉! 先上图: 代码:下载
- Swift初体验之HelloWord+苹果Swift编程语言新手教程【中文版】
AppDelegate.swift : <span style="font-size:24px;"><strong>// // AppDelegate.sw ...
- Swift初体验(三)
/*******************************************************************************/ // 协议 protocol Des ...
- Swift初体验 (一)
// 声明一个常量 let maxNumberOfStudents: Int = 47 // 声明一个变量,假设没有在声明的时候初始化,须要显示的标注其类型 var currentNumberOfSt ...
- swift基本体验
Swift初体验 1. 导入框架 2. 定义标识符: let/var 3. 语句结束时;可以省略 4. print() 5. let/var 6. 逻辑分支 7. 循环使用 // 1.Swift中如何 ...
- Swift与C++混编 OpenCV初体验 图片打码~
OpenCV初体验,给图片打码 提到OpenCV,相信大多数人都听说过,应用领域非常广泛,使用C++开发,天生具有跨平台的优势,我们学习一次,就可以在各个平台使用,这个还是很具有诱惑力的.本文主要记录 ...
- Node.js 网页瘸腿爬虫初体验
延续上一篇,想把自己博客的文档标题利用Node.js的request全提取出来,于是有了下面的初哥爬虫,水平有限,这只爬虫目前还有点瘸腿,请看官你指正了. // 内置http模块,提供了http服务器 ...
- Spring之初体验
Spring之初体验 Spring是一个轻量级的Java Web开发框架,以IoC(Inverse of Control 控制反转)和 ...
随机推荐
- [MSSQL]最小公约数
[摘要]一个朋友在展BOM的时候有这种需求,两列字段(数值):A ,B A=用量,B=底数,组成用量=用量/底数.A/B,若能被整除,显示整除的结果,若不能整除显示分数形式A/B(分数形式要是约分 ...
- 左右canvas.drawArc,canvas.drawOval 和RectF 关联
1.paint.setStyle(Paint.Style.STROKE) // radius="100dp" // interRadius="40dp" // ...
- Directx11学习笔记【十一】 画一个简单的三角形--effect框架的使用
这里不再介绍effect框架的具体使用,有关effect框架使用可参考http://www.cnblogs.com/zhangbaochong/p/5475961.html 实现的功能依然是画一个简单 ...
- fiddler打开后 浏览器就上不了网的解决方法
fiddler设置一下即可 Tools fiddler options connections 不要选中 Act as system proxy on startup
- WebService 用户名密码验证
原文:WebService 用户名密码验证 在项目开发的过程中,WebService是经常要用的,当调用WebService方法时,需要经过服务的验证才可以调用,一般就是用户名/密码验证,还有一个就是 ...
- 构建安全的Xml Web Service系列之wse之证书存储位置
原文:构建安全的Xml Web Service系列之wse之证书存储位置 我们在前几天对xml web service的安全性提出了一些建议,大家可以通过以下地址访问: 构建安全的Xml Web Se ...
- 【Android进阶】自定义控件实现底部扇形展开菜单效果
这个项目是优化的其他人的,主要优化了界面菜单的显示,下面开始. 先看效果图 项目的总结构 下面开始贴代码,由于必要的地方都添加了注释,所以不过多讲解 anim_button.xml <?xml ...
- 【C语言探索之旅】 第一部分第七课:循环语句
内容简介 1.课程大纲 2.第一部分第七课: 循环语句 3.第一部分第八课预告: 第一个C语言小游戏 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编 ...
- github jekyll site不再使用Maruku由于Markdown翻译员,但kramdown
今天写了一篇博客,之push至jekyll site on github在,发现总是错的,例如,下面的电子邮件消息: The page build completed successfully, bu ...
- Mac OS温馨提示17:七彩花哨的输入
OSX Mavericks中国的文字输入功能,色于windows,甚至提供了强大的手写输入功能和语音输入功能,而且发展到如今,已经有非常多种第三方输入法支持Mac了. 一.主要的输入法 ...