Swift-函数

import Foundation

println("Hello, World!")

//有返回值的函数

func add(num1:Int,num2:Int)->(Int){

return num1 + num2

}

println(add(2,3))

//无返回值的函数

func names(){

println("xiaobai")

}

//调用函数

names()

//返回元组的函数

func 坐标()->(Int,Int){

return (22,33)

}

println(坐标())

//有返回值,返回元组类型的函数

func  user(id:Int)->(name: String, age:Int){

if id > 16{

return("dagou",11)

}else{

return("xiaohua",23)

}

}

var userID = user(2)

println(userID)

//有外部参数名的函数

func classes(name:String,age_num1 num1:Int,classesid_num2 num2:Int){

println("名字\(name),年龄\(num1),学号\(num2)")

}

classes("大牛", age_num1: 22, classesid_num2: 11)

//使用#号能简化外部参数名

func dog(#owner:String,#name:String,#age:Int){

println("\(owner)家的大黄狗\(name)今年\(age)岁了")

}

dog(owner: "小明", name: "大黄", age: 3)

//带有默认参数值的形参

func classes1(name:String, num2:Int = 22){

println("名字\(name),学号\(num2)")

}

classes1("jack")

classes1("dino", num2: 1)//给num2加上默认参数值之后num2相当于外部参数名,不能省略不写

//加上下划线可以忽略外部参数名

func classes2(name:String, _ num2:Int = 22){

println("名字\(name),学号\(num2)")

}

classes2("kite", 33)

//使用输入输出参数在函数内部改变函数外部的变量的值

//输入输出参数:既能输入一个值进来又能输出一个值出去

//定义:在参数名前面加:inout

func change(inout num1:Int){

num1 = 22

}

var a = 10

println(a)//这里输出的a是10

change(&a)

println(a)//这里输出的a是22

//不利用第三个参数交换2个参数的值

//func changes(inout num1:Int,inout num2:Int){

//    num1 = num1 + num2//=50

//        num2 = num1 - num2//=50-20

//    num1 = num1 - num2//=50-(50-20)

//

//}

func changes(inout num1:Int,inout num2:Int){

num1 = num1 ^ num2

num2 = num1 ^ num2

num1 = num1 ^ num2

}

var b = 30

var c = 20

println(changes(&b, &c))

println(b)

println(c)

//函数作为参数的情况

//第一层,参数为一个数组。

func hasAnyMatches(numbers:[Int],condition:(Int)->Bool)->Bool{

for num in numbers{

if condition(num){

return true

}

}

return false

}

func morethanTen (num:Int)->Bool{

if num > 10{

return true

}else{

return false

}

}

println(hasAnyMatches([12,22,33,1,4,3],morethanTen))

//函数作为返回值的情况  返回函数的参数列表 ->返回函数的返回值

func makeFunc()->(Int->Int){

func addFive(a:Int)->Int{

return a+5

}

return addFive

}

var func1 = makeFunc()

println(func1(12))

时间: 2024-10-14 19:50:50

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(

swift 函数篇章

函数是执行特定任务的代码自包含块.给定一个函数名称标识, 当执行其任务时就可以用这个标识来进行"调用". Swift的统一的功能语法足够灵活来表达任何东西,无论是甚至没有参数名称的简单的C风格的函数表达式,还是需要为每个本地参数和外部参数设置复杂名称的Objective-C语言风格的函数.参数提供默认值,以简化函数调用,并通过设置在输入输出参数,在函数执行完成时修改传递的变量. Swift中的每个函数都有一个类型,包括函数的参数类型和返回类型.您可以方便的使用此类型像任何其他类型一样,