首页 > 代码库 > swift入门篇-函数

swift入门篇-函数

 

今天给大家介绍 swift函数,swift函数和c#,js的写法大致一直,但是与object-c写法有很大不同点。废话不多说,直接开始了。

1:函数  --常量参数

  func  函数名( 参数变量:类型 ,参数变量:类型...){}    说明:         1: func 是函数关键字
2:{} 函数体 3
: 参数变量是默认常量类型,不能在函数函数体里面直接修改
即 func A (value:String)  与 func A (let value:String)写法是相同的,即value 是常量。

例子

/*1: func 函数关键字2:两个参数变量  value 和value1都是常量 不能修改3:SayHello("hello","swift") 调用函数的方法*/func  SayHello(value :String,value1:String){    var str = value + " " +  value1    println(str)}SayHello("hello","swift")运行结果hello swift注意点:----------------------错误写法--------------func  SayHello(value :String,value1:String){   value = "AA" //错误写法 在函数中参数变量默认是常量类型不能修改}

2:函数  --变量参数

  func 函数名( var  参数变量 : 类型,... ) {}    说明       1: func 函数关键字      2: var 参数变量 :类型   表示参数变量是可变变量,不是常量,可以任意修改

例子

func  SayHello(var value :String){    value = "AA" //value  是被var 修改,value是可变变量   println(value)}SayHello("hello")运行结果AA

3:函数 --参数默认值

func  函数名(参数值 :类型=默认值){}    说明 
1:func是函数的关键字
2:如果参数值,不赋值,参数值就采用默认值

例子

func SayHello(value:String = "AA"){    println("value=http://www.mamicode.com/(value)")}SayHello(value:"10") //带参数SayHello()//不带参赛运行结果value=10value=AA

 三:函数 --可变参数

    func 函数名(参数名 类型...){}    说明 :     参数名 类型... 说明   该参数可以接触N个参数。

例子

func SayHello(values :Double...){    for temp in values{        println("temp=\(temp)")    }    }SayHello(1.1,1.2,1.3)运行结果temp=1.1temp=1.2temp=1.3

4:函数 --外部参数名

 func  函数名 (参数变量:类型 ,参数说明  参数变量:类型)  说明:      1:函数中的第一个不需要参数说明     2:参数说明 + 参数名 : 类型 ,构成一个参数     调用方法      函数名(参数值,参数说明:参数值,参数说明:参数值....)

例子

// joinStr value1 : String 是一个参数func SayHello(value : String, joinStr value1 : String){    var  str = value + value1    println("str= \(str)")}SayHello ("hello ",joinStr:"Swift")运行结果str=hello Swift

5:函数 输入输出参数

func 函数名(inout 函数变量 类型)    说明:     inout 修辞的变量 函数内部可以直接修改,其外部可以获取到 

例子:

func SayHello (inout value:String){    value = "Hello Swift"}var str = "hello"SayHello(&str)  //此时传递 字符串的地址println(str)运行结果Hello Swift

6:函数返回值 --元组

/* func 函数名 ( 参数变量 : 类型 ,参数说明  参数变量 :类型)-> 类型1:func 函数关键字2: ->类型 ,返回类型*/

例子

//------------------------返回 元组func SayHello(value:String ,nums Value1:String)->(String,String){        return (value,Value1)}var (A,B)=SayHello("hello",nums:"swift")println("A=\(A),B=\(B)")

运行结果

  A=hello,B=swift

 

7:函数返回值 ---函数

 

// 自加函数func  Add(num : Int)->Int{    return num + 1}//自减函数func zj(num : Int)->Int{        return num - 1}//定义返回函数类型func  SayHello(num:Bool)->(Int)->Int{ //其中 (Int)->Int 返回参数为整形,返回值为整形的函数        return num ? Add : zj}var num = 10var fun:(Int)->Int = SayHello(num > 5);num = fun(num)println("num=\(num)")运行结果num=11

 

 

 后面的文章,我回陆续把我学习到swift语言的知识写出来形成一个系列。由于是新语言,难免有不足,欢迎给我提出意见。也可以加我QQ 1436051108一起讨论,如果您有什么问题,也可以直接在QQ留言发给我,我看到之后第一时间回复您

  最后总结一下。送上一直思维导图,作为文章的结束