标签:
函数 懂编程语言的来说这个是最基本的了,任何语言都有函数这个概念,函数就是完成特定任务的独立代码块。
函数怎么创建:
1、创建一个无参无返回值的函数(实际上所有的函数都有返回值,这个函数返回void,它是一个空元组)
func testFunc(){ }
func testFunc() -> String{ return "hello" }
func testFunc(name: String) -> String{ return "hello"+name }
func testFunc(name: String,age: Int) -> (myName:String,myAge:Int){ return (name,age) }
func testFunc(myName name: String,myAge age: Int) -> (myName:String,myAge:Int){ return (name,age) }
testFunc(myName: "小王", myAge: 18)
6、第5中的另外一种写法,就是外部参数名和局部变量名是一样的时候。
func testFunc(#name: String,#age: Int) -> (myName:String,myAge:Int){ return (name,age) } testFunc(name: "小王", age: 18)
func testFunc(#name: String,age: Int = 10) -> (myName:String,myAge:Int){ return (name,age) } testFunc(name: "小王", age: 18)
8、创建可变参数的函数
func allNums(nums: Double...) -> Double{ var totalNum: Double = 0 for num in nums{ totalNum += num } return totalNum } allNums(1,2,3)
例如:
func error(a: Int){ a = 2 这就会出现一个错误:Cannot assign to 'let' value 'a' }
那可以创建能够修改的么。当然可以。增加var关键字即可。
func error(var a: Int){ a = 2 } error(3)
10、函数参数是值传递的,那有啥办法让它变成引用传递呢,也就是让参数经过了函数的修改,函数外值发生改变了
func yy(inout a:Int,inout b: Int) { var c = a a = b b = a } yy(&10, &20)
var a = 10,b=20 yy(&a, &b)
例如:
func yy(inout a:Int,inout b: Int)
这个函数,它的类型是 (Int,Int)-> () .它可以和int double这种用哦。 ---- 太强大了
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/fcly2013/article/details/46989477