Swift得知——使用和分类功能(四)

总结Swift该功能使用的总可分为七类

1 ---- 没有返回值,没有參数的函数

2 ---- 有參数和返回值的函数

3 ---- 使用元祖来返回多个值

4 ---- 參数是可变的

5 ---- 函数的嵌套

6 ---- 函数能够作为还有一个函数的返回值

7 ---- 函数能够作为參数

详细分析如以下代码所看到的

// 1 ---- 没有返回值。没有參数的函数

func function1()
{
println("----in function1----")
} //调用函数
function1() // 2 ---- 有參数和返回值的函数 func function2(name:String,age:Int)->String{
println("----in function2----")
return "name \(name),age \(age)"
} //调用函数 println(function2("jhon",22)) // 3 ---- 使用元祖来返回多个值 func function3()->(Int,Int,Int){
println("----function3----")
return (1,2,3)
}
//调用函数
println(function3()) // 4 ---- 參数是可变的 func functionsum4(numbers:Int...)->Int{
println("----in functionsum4----")
var sum = 0
for number in numbers{
sum += number
}
return sum
} //调用函数
println("sum is \(functionsum4(1))")
println("sum is \(functionsum4(1,2))")
println("sum is \(functionsum4(1,2,3))") // 5 ---- 函数的嵌套 /*
说明:被嵌套的函数能够訪问外側函数变量 */ func function5()->Int{
println("-----in function5-----")
var m = 5 func sum(){
m += 1
}
sum()
return m
} //调用函数 println("function5 is \(function5())") // 6 ---- 函数能够作为还有一个函数的返回值 func function6()->(Int->Int){
println("----int function6 ----")
func sum(numbers:Int)->Int{
return numbers+1
}
return sum
} //获取外側函数的值
var values = function6() //values(1)对内側函数进行传參数
println("sum is \(values(1))") // 7 ---- 函数能够作为參数 func function7(number:Int[],contion:Int->Bool)->Bool{
for numbers in number{
if contion(numbers)
{
println("----true")
return true
} }
return false
} func choosefunc(number:Int)->Bool{
return number<10
} var number = [1,2,3,4] function7(number,choosefunc) println("result is \(function7(number,choosefunc))")

打印结果

----in function1----

----in function2----

name jhon,age 22

----function3----

(1, 2, 3)

----in functionsum4----

sum is 1

----in functionsum4----

sum is 3

----in functionsum4----

sum is 6

-----in function5-----

function5 is 6

----int function6 ----

sum is 2

----true

----true

result is true

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

Swift得知——使用和分类功能(四)的更多相关文章

  1. keras系列︱人脸表情分类与识别:opencv人脸检测+Keras情绪分类(四)

    引自:http://blog.csdn.net/sinat_26917383/article/details/72885715 人脸识别热门,表情识别更加.但是表情识别很难,因为人脸的微表情很多,本节 ...

  2. 怎么用MindMapper分类功能整理导图

    我们在绘制导图时是按着我们大脑中的思维来的,虽然有着总体逻辑,但是在细节上面还是不可避免的有些小杂乱,我们则可以通过MindMapper分类功能来对导图进行整理. 我们在打开MindMapper思维导 ...

  3. (三)微信小程序首页的分类功能和搜索功能的实现笔记

    就在昨天,微信宣布了微信小程序开发者工具新增“云开发”功能 下载最新的开发者工具,现在无需服务器即可实现小程序的快速迭代! 分类功能和搜索功能的效果图 1.首页分类功能的实现 boxtwo方法(.js ...

  4. 我在开发第一个Swift App过程中学到的四件事

    本文转载至 http://www.itjhwd.com/wzkfyigeswiftsjs/ 译者注:本文作者Greg Heo,这是他为讲授iOS 8 App Extensions视频教程而实际使用Sw ...

  5. iOS开发 - Swift使用GCD实现计时器功能

    前言 开发中,经常会用到定时执行网络请求.倒计时.计时器等功能,本篇文章介绍在iOS开发中,Swift怎样使用GCD实现这些功能. 执行一次 下面的代码将会在5秒后执行,且只执行一次. let tim ...

  6. iOS开发之使用UICollectionView实现美团App的分类功能【偶现大众点评App的一个小bug】

    郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 游戏官方下 ...

  7. swift UI专项训练39 用Swift实现摇一摇功能

    微信的摇一摇功能想必大家都用过,过春节的时候抢红包也没少摇吧,那么用swift语言怎样实现这么酷炫的功能呢.摇动属于IOS内置可识别的一种动作,在你须要实现摇动功能的viewcontroller中.在 ...

  8. iOS开发项目实战——Swift实现ScrollView滚动栏功能

    手机作为一个小屏设备,须要显示的信息往往无法在一个屏幕上显示,此时就须要使用到滚动栏,当然除了像TableView这样能够自带滚动功能的. 假设一个界面上View较多,那就必须要使用到ScrollVi ...

  9. Swift 中异常抛出和四种异常处理

    在Swift中你可以像其他语言一样抛出异常处理异常,今天我们就详细地说说Swift中的异常抛出和处理. 在一开始我们要定义错误或者说是异常,Swift中的一些简单异常可以使用枚举定义,注意这个枚举要继 ...

随机推荐

  1. Ubuntu通过使用PyCharm 执行调试 Odoo 8.0 可能的问题

    实现步骤,请移步http://shine-it.net/index.php?topic=16603.0 或 http://www.mindissoftware.com/2014/09/11/Run-O ...

  2. Linux(Centos)中tcpdump参数用法详解(转)

    在linux下进行编程开发的人尤其是网络编程的人会经常需要分析数据包,那么一定会用到tcpdump,下面就是关于tcpdump的使用方法说明(1). tcpdump的选项 -a       将网络地址 ...

  3. OC动态创建的问题变量数组.有数组,在阵列13要素,第一个数据包阵列,每3元素为一组,分成若干组,这些数据包的统一管理。最后,一个数组.(要动态地创建一个数组).两种方法

    <span style="font-size:24px;">//////第一种方法 //        NSMutableArray *arr = [NSMutable ...

  4. 的无线通信网络的学习LTE的关键技术HARQ(20141217)

    今天,我们就来一起看一下LTE申请的关键技术HARQ(自己主动混合重传技术) 因为在信道传输过程中的信息,它会产生信息丢失,因此,为了维持的信息的完整性.总是有重发信息,完成所有的迄今收到的资料. 首 ...

  5. Android使用开源项目Xutils实现多线程下载文件

    #1.下载utils项目 https://github.com/wyouflf/xUtils #2布局文件里实现UI <LinearLayout xmlns:android="http ...

  6. NYOJ 372 巧克力的

    巧克力 时间限制:4000 ms  |  内存限制:65535 KB 难度:2 描写叙述 布欧能够把人变成巧克力吃了来添加他的能量,也有可能降低. 如今布欧变了n*m个巧克力,并把巧克力排成一个n*m ...

  7. MailTest

    GridBagLayout把一个界面分为m行n列的网格 GridBagConstraints的一个实例:gridx = 2; // X2,表示组件位于第2列gridy = 0; // Y0,表示组件位 ...

  8. BC 2015在百度之星程序设计大赛 - 预赛(1)(矩形区域-旋转卡)

    矩形区域 Accepts: 717 Submissions: 1619 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 ...

  9. Hybrid app 发展历程

    距离上一篇<基于微信 js-sdk 的简单应用>已经快一年了,说来真是惭愧.上次不久之后便换了工作,一直处于比较忙的状态.其次后面酣畅一段时间都没有从事移动相关的工作.直到今年3月份开始, ...

  10. SenchaTouch2.3.1 正在使用listpaging以及pullrefresh插入 分页演示样品做

    实际上本实施例是相对简单的.自定义PullRefreshFn插头继承Ext.plugin.PullRefresh. 主要是其附加refreshFn下拉监控事件. listpaging么改动.再将这两个 ...