swift 函数、函数类型及使用——swift学习(五)
来源:互联网 发布:淘宝旺铺免费模板 编辑:程序博客网 时间:2024/05/22 15:42
其实函数我们都已经知道的差不多了。所以关于什么是函数就不再说了,今天直接用代码来看看函数的几种使用:
//自定义函数//1.无返回值的函数func test(name:String){}//2.返回一个返回值func test2(name:String)->Bool{return true}//3.返回一个元组func test3(name:String)->(Int,Bool){ let position = 1 let visible = false return (position,visible)}print("\(test3("a"))")//4.参数任意func test4(nums:Int...)->Int{ var count:Int = 0 for item in nums { count+=item } return count}print("\(test4(1,2,3,4))")//5.在swift3.0之前,要在函数中修改参数,在函数声明的时候一定要加上var,当然加上var同样不会把实参也改变,,而只是说形参可以修改。但是在swift3.0之后,如果还是那样做的话会有警告,这时候就可以使用一个方法,就是在函数中重新定义一个变量就可以了。var age = 22func test5(age:Int) { var age = age age=age+1}print("\(age)")//6.改变函数传进去的实参,这里要注意的是实参一定要是一个变量,并且必须是要取地址符。估计是因为加了inout之后,值会被改掉,所以一定要有一个地址func test6(inout age:Int){ age+=1}var age6 = 22test6(&age6)print("\(age6)")//7.函数类型作为参数使用,func test7(a:Int,b:Int)->Int{ return a+b}func test8(test7:(Int,Int)->Int,a:Int,b:Int)->Int{ let temp = a+b return test7(temp,a)}print("\(test8(test7,a:1,b:2))")//8.函数类型为返回值,test9的返回值其实是(Int)->Int,而且扣号可以去掉的。同时我们来看看函数类型。其实很简单,函数类型就是参数加返回值类型比如一个函数的参数是两个Int,返回值是一个Int。那么它的类型就是(Int,Int)->Int。定义一个变量的时候就是let funvVarible:(Int,Int)->Int = test7。所以也有注意一下,这里初始化或者赋值的时候一定也要是参数类型和返回值类型是一样的。func increase(intput:Int)->Int{ return intput+1}func reduce(intput:Int) -> Int { return intput-1}func test9(test:Bool)->(Int)->Int{ return test ? increase : reduce}let test10 = test9(3>2)print("\(test10(3))")//9.内嵌函数,内嵌函数故名思意就是它是函数体内部定义的一个函数,当然它的作用域肯定也只局限于当前函数内部func test11(test:Bool)->(Int)->Int{ func increase(intput:Int)->Int{ return intput+1 } func reduce(intput:Int) -> Int { return intput-1 } return test ? increase : reduce}let test12 = test11(3<2)print("\(test12(3))")
0 0
- swift 函数、函数类型及使用——swift学习(五)
- swift学习之函数类型
- Swift学习 函数的类型
- Swift学习笔记(三十四)——函数类型
- Swift 函数(五)
- Swift函数类型
- Swift函数 - 指针类型
- 5.8 Swift函数类型
- Swift 函数类型
- Swift学习——A Swift Tour 函数
- Swift学习——函数的使用和分类(四)
- Swift新手入门—函数
- Swift学习3——函数方法
- 【Swift】学习笔记(六)——函数
- Swift 学习笔记 —— 函数
- Snail—Swift基础学习之函数
- Swift学习 --- 2.6函数
- Swift学习(函数篇)
- HDU 5699 货物运输 (二分 + 不等式判断 好题)
- 使用Toolbar/ActionBar自定义布局时,左侧/右侧有一段无法使用
- 怎样查看CentOS版本
- 方格取数问题[网络流24题之9]
- Fedora 普通用户和root用户切换
- swift 函数、函数类型及使用——swift学习(五)
- Oralce视图案列
- leetcode 175. Combine Two Tables
- K-means Algorithm 聚类算法
- AVR Studio 4.0 软件编程学习
- URL编码问题
- 选择排序
- 推拿开发之一: Android开发环境介绍
- Android调用相机拍照获取原始照片