swift 函数篇章

函数是执行特定任务的代码自包含块。给定一个函数名称标识, 当执行其任务时就可以用这个标识来进行"调用"。

Swift的统一的功能语法足够灵活来表达任何东西,无论是甚至没有参数名称的简单的C风格的函数表达式,还是需要为每个本地参数和外部参数设置复杂名称的Objective-C语言风格的函数。参数提供默认值,以简化函数调用,并通过设置在输入输出参数,在函数执行完成时修改传递的变量。

Swift中的每个函数都有一个类型,包括函数的参数类型和返回类型。您可以方便的使用此类型像任何其他类型一样,这使得它很容易将函数作为参数传递给其他函数,甚至从函数中返回函数类型。函数也可以写在其他函数中来封装一个嵌套函数用以范围内有用的功能。

函数的声明与调用

当你定义一个函数时,你可以为其定义一个或多个命名,定义类型值作为函数的输入(称为参数),当该函数完成时将传回输出定义的类型(称为作为它的返回类型)。

每一个函数都有一个函数名,用来描述了函数执行的任务。要使用一个函数的功能时,你通过使用它的名称进行“调用”,并通过它的输入值(称为参数)来匹配函数的参数类型。一个函数的提供的参数必须始终以相同的顺序来作为函数参数列表。

例子:

//没有参数,没有返回值的函数
func helloworld()
{
    println("helloworld")
}
helloworld()
//有参数没有返回值的函数
func printStr(Str:NSString!)
{
    println(Str)
}
printStr("123456")
//带有参数和返回值的函数
func add(One:Int,Two:Int)->Int
{
    return One + Two
}
println("1+2 = \(add(1,2))")
//可变参数
func addAllNumbers(Numbers:Int ...)->Int
{
    var sum:Int = 0
    for i in Numbers
    {
        sum += i
    }
    return sum
}
//参数有默认值
func statentmentStr(name:NSString!,fstr:NSString = "我的名字是:")
{
    println(fstr+name)
}
statentmentStr("xiami")
//看到帖子问,参考类型作为参数会不会变化
class a
{
    var value:Int = 1
}
var aa = a()
func changeClass(item:a)
{
    item.value = 10
}
changeClass(aa)
aa
//由此可见参考类型作为函数的参数是可以变化的

//输入输出类型
func swapTwoValue(inout firstValue one:Int,inout two:Int)
{
    let value = one
    one = two
    two = value
}
var one:Int = 10
var two:Int = 20
swapTwoValue(firstValue: &one, &two)
one
two
//上例子中 firstValue 为外部参数名字 个人理解,相当于描述吧,在外部调用的时候能知道这个参数是干什么用的
时间: 2024-10-06 09:32:14

swift 函数篇章的相关文章

【Swift初见】Swift函数(一)

在任何语言中,函数都是非常重要的,今天我们就来初步的学习下Swift中的函数. 1.Swift函数默认参数: ①.可以放在函数的任意位置: ②.外部名称与内部名称一致: ③.调用的时候可以不写: ④.在函数定义时传入参数里定义好. func joinString(s1: String , toString s2: String , joiner s3 : String = "*") -> String{ return s1 + s3 + s2 } let str = joinSt

Swift函数

函数定义 使用 func 定义一个函数.调用函数使用他的名字加 上小括号中的参数列表.使用 -> 分隔参数的名字和 返回值类型. 函数声明: func greet(name: String, day: String) -> String { return "Hello \(name),today is \(day)." } 函数调用:greet("Bob", "Tuesday") 无返回值函数 func sayGoodbye(pers

Swift函数和闭包

函数 Swift 使用func关键字声明函数: 1 func greet (name: String, day: String) -> String { 2 return "Hello \(name), today is \(day)." 3 } 4 greet ("Bob", "Tuesday") 通过元组(Tuple)返回多个值: 1 func getGasPrices () -> (Double, Double, Double)

Swift 函数新特性

特性一:函数可以穿出不固定的同一种类型的参数(参数的个数不固定) example: “func sumOf(numbers: Int...) -> Int { var sum = 0 for number in numbers { sum += number } return sum}sumOf()sumOf(42, 597, 12) 特性二:返回元祖类型数据(元祖:是一种多元化的数据) example: “func calculateStatistics(scores: [Int]) ->

如何在C语言中调用Swift函数

在Apple官方的<Using Swift with Cocoa and Objectgive-C>一书中详细地介绍了如何在Objective-C中使用Swift的类以及如何在Swift中使用Objective-C中的类.在后半部分也介绍了如何在Swift中使用C函数,不过对于如何在C语言中使用Swift函数却只字未提.这里我就为大家分享一下如何在C语言中调用Swift函数. 我们首先要知道的是,所有Swift函数都属于闭包.其次,Swift函数的调用约定与Apple为Clang编译器贡献的B

swift 函数.和匿名函数

函数 注意: 没有定义返回类型的函数会返回特殊的值,叫 Void.它其实是一个空的元组(tuple),没有任何元素,可以写成(). 使用元组作为返回参数,返回多个参数 func count(string: String) -> (vowels: Int, consonants: Int, others: Int) { var vowels = 0, consonants = 0, others = 0 for character in string { switch String(charact

Swift函数重载

1.函数重载的概念 函数的重载指的是多个函数享有相同的名字都是有不同的参数或返回值类型不同,它们互相成为重载关系, 2.与其它语言的不同 Swift函数的参数类型包含了参数列表类型和返回值类型,例如(Double,Double)->Double 是由2个Double类型参数列表和Double类型的返回值类型构成,也就是说Swift中函数名相同,参数列表不同或者返回值类型不同的函数都可以构成重载,而在C++或者JAVA中,函数的重载只是与参数列表有关系,与返回值没有关系 3.示例 func rec

Swift函数编程之Map、Filter、Reduce

在Swift语言中使用Map.Filter.Reduce对Array.Dictionary等集合类型(collection type)进行操作可能对一部分人来说还不是那么的习惯.对于没有接触过函数式编程的开发者来说,对集合类型中的数据进行处理的时候第一反应可能就是采用for in遍历.本文将介绍一些Swift中可以采用的新方法. Map Map函数会遍历集合类型并对其中的每一个元素进行同一种的操作.Map的返回值是一个所得结果的数组.例如:我们要对一个数组里面的数据进行平方操作,常见的代码如下:

4 .Swift函数|闭包

在编程中,我们常把能完成某一特定功能的一组代码,并且带有名字标记类型叫做函数,在C语言中,我们知道函数名就是一个指针,它指向了函数体内代码区的第一行代码的地址,在swift中也具有同样的功效. 在Swift中函数的表现形式如下: 1. func 函数名(参数名1:参数类型,参数名2,参数类型)->返回值类型 {函数的实现部分} func sayHello()->Void { print("hello world") } //有参数,有返回值, func sayHello2(