码迷,mamicode.com
首页 > 编程语言 > 详细

【Swift】学习笔记(六)——函数

时间:2015-07-21 18:37:24      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:

函数  懂编程语言的来说这个是最基本的了,任何语言都有函数这个概念,函数就是完成特定任务的独立代码块。


函数怎么创建:

1、创建一个无参无返回值的函数(实际上所有的函数都有返回值,这个函数返回void,它是一个空元组)

func testFunc(){
    
}

2、创建一个带返回值的函数

func testFunc() -> String{
    return "hello"
}

3、创建一个带参数和返回值的函数

func testFunc(name: String) -> String{
    return "hello"+name
}

4、创建一个带多个参数和多个返回值的函数

func testFunc(name: String,age: Int) -> (myName:String,myAge:Int){
    return (name,age)
}

5、创建带参数名称的函数

func testFunc(myName name: String,myAge age: Int) -> (myName:String,myAge:Int){
    return (name,age)
}

ps:调用 

testFunc(myName: "小王", myAge: 18)


6、第5中的另外一种写法,就是外部参数名和局部变量名是一样的时候。

func testFunc(#name: String,#age: Int) -> (myName:String,myAge:Int){
    return (name,age)
}

testFunc(name: "小王", age: 18)

7、创建带默认值参数的函数

func testFunc(#name: String,age: Int = 10) -> (myName:String,myAge:Int){
    return (name,age)
}

testFunc(name: "小王", age: 18)

ps:带默认值的参数要么不指定外部参数名(swift会自己默认指定一个就相当于带了#号了)要么必须指定,不能用#号


8、创建可变参数的函数

func allNums(nums: Double...) -> Double{
    var totalNum: Double = 0
    for num in nums{
        totalNum += num
    }
    return totalNum
}

allNums(1,2,3)

9、函数参数是常量,不能修改的喔

例如:

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这种用哦。 ----  太强大了









版权声明:本文为博主原创文章,未经博主允许不得转载。

【Swift】学习笔记(六)——函数

标签:

原文地址:http://blog.csdn.net/fcly2013/article/details/46989477

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!