6.函数

作者: liushong | 来源:发表于2016-04-15 16:51 被阅读0次

func f_name(v_name :v_Class, ...) -> return_Class {

//fun_content

}

var a :return_Class = f_name(v)

所有的这些信息汇总起来成为函数的定义,并以 func 作为前缀。指定函数返回类型时,用返回箭头 ->(一个连字符后跟一个右尖括号)后跟返回类型的名称的方式来表示。

函数可以有多个参数,用逗号隔开

函数可以没有参数

一般情况下,第一个参数省略其外部参数名,第二个以后的参数使用其本地参数名作为自己的外部参数名.所有参数需要有不同的本地参数名,但可以共享相同的外部参数名.

func sayHello(personName: String, alreadyGreeted: Bool) -> String {

}

调用:sayHello("name", true)

sayHello("name", alreadyGreeted:true)

可以在本地参数名前指定外部参数名,中间以空格分隔

func sayHello(to person: String, and anotherPerson: String) -> String {

}

sayHello(to: "Bill", and: "Ted")

如果你不想为第二个及后续的参数设置参数名,用一个下划线(_)代替一个明确地参数名.

func someFunction(firstParameterName: Int, _ secondParameterName: Int) {

}

someFunction(1, 2)

可以在函数体中为每个参数定义默认值(Deafult Values)。当默认值被定义后,调用这个函数时可以忽略这个参数

func someFunction(parameterWithDefault: Int = 12) {

}

someFunction(6) // parameterWithDefault is 6

someFunction() // parameterWithDefault is 12

一个可变参数(variadic parameter)可以接受零个或多个值。函数调用时,你可以用可变参数来传入不确定数量的输入参数。通过在变量类型名后面加入(...)的方式来定义可变参数。

func arithmeticMean(numbers: Double...) -> Double {

}

arithmeticMean(1, 2, 3, 4, 5)

注意: 最多可以有一个可变参数函数,和它必须出现在参数列表中,为了避免歧义在调用函数有多个参数。 如果你的函数有一个或多个参数有默认值,还有一个可变的参数,将可变参写在参数列表的最后。

定义一个输入输出参数时,在参数定义前加 inout 关键字。一个输入输出参数有传入函数的值,这个值被函数修改,然后被传出函数,替换原来的值。

func swapTwoInts(inout a: Int, inout _ b: Int) {

let temporaryA = a

a = b

b = temporaryA

}

var someInt = 3

var anotherInt = 107

swapTwoInts(&someInt, &anotherInt)



每个函数都有种特定的函数类型,由函数的参数类型和返回类型组成。

func a_f(a: Int, _ b: Int) -> Int {

}

func b_f(a: Int, _ b: Int) -> Int {

}

var c_f: (Int, Int) -> Int = a_f

c_f = b_f

返回值是函数

func c_f(isa_f:Bool) ->(Int, Int) ->Int {

isa_f ? a_f : b_f

}

可以把函数定义在别的函数体中,称作嵌套函数(nested functions)。

默认情况下,嵌套函数是对外界不可见的,但是可以被他们封闭函数(enclosing function)来调用。一个封闭函数也可以返回它的某一个嵌套函数,使得这个函数可以在其他域中被使用。

func d_f(isa_f:Bool)  ->Int {

func a_f() {}

func b_f() {}

}

相关文章

  • 6. 函数

    函数 SQL 可用函数处理数据,但不同的DBMN都有特定的函数,各个函数的名称和用法可能不同。 文本处理函数 日期...

  • 6. 函数

    基本介绍 函数是一组用来执行多条语句的代码块,它能够接受参数和返回数据,其用途需明确,其逻辑需具有整体性,否则便没...

  • 6.函数

    6.1基础 实参是形参的初始值。 局部对象 名字有作用域,对象有生命周期。 名字的作用域是程序文本的部分,名字在其...

  • 6.函数

    funcf_name(v_name:v_Class, ...) -> return_Class { //fun_c...

  • 6.函数

    函数 使用 function 关键字来声明, 后跟一组参数以及函数体 通过 return 语句指定函数返回值 re...

  • kotlin进阶语法

    构造方法 data class == 遍历 6.循环 函数嵌套 函数参数默认值 扩展 内联函数 函数类型参数 by...

  • JavaScript回调函数基础

    javascript回调函数 5.函数的返回值 6.回调函数的基础

  • javaScript函数

    1.函数的封装 2.return子句 3.函数的参数 4.函数练习 5.匿名函数 6.函数练习

  • 6. Python| 函数_调用函数

    python内置了很多有用的函数,可以直接调用. 调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs...

  • 6.函数 Functions

    定义和调用函数 没有参数的函数 Functions With Multiple Parameters 多参函数 无...

网友评论

      本文标题:6.函数

      本文链接:https://www.haomeiwen.com/subject/xytnlttx.html