SWIFT——函数

 1 func sayHello(personName:String) ->String             //返回是String类型
 2 {
 3        let greeting = "hello" + personName + "!"
 4        return greeting
 5 }
 6
 7 println(sayHello("lin"))                           //hello lin!
 8
 9 func add(a:Int, b:Int) ->Int
10 {
11        return a + b
12 }
13
14 println(add(20,30))                               //50
15
16 func process() -> Float
17 {
18        return 3*20;
19 }
20
21 println(process())                                 //60
22
23 func method()
24 {
25        println("hello world")
26 }
27 method()                                           //hello world
28
29 //返回超过一个值
30 func count(string:String) -> (vowels:Int, consonants:Int, others:Int)
31 {
32         var vowels = 0;
33         var consonants = 0;
34         var others = 0;
35         for c in string
36         {
37                switch String(c).lowercaseString
38                {
39                        case "a","e","i","o","u":
40                                ++vowels;                   //++后面不能有空格
41                        case "b","c","d","f","g","h","j","k","l","m","n","p","q","r","s","t","v","w","x","y","z":
42                                ++consonants
43                        default:
44                                ++others
45                 }
46          }
47          return (vowels, consonants,others)
48 }
49
50 let total = count("some arbitrary string!")
51 println("\(total.vowels) vowels and \(total.consonants) consonants ") //6 vowels and 13 consonants

1、扩展参数名

 1 func process(p1:String, p2:Int) ->String
 2 {
 3         return "name:" + p1 + " age:" + String(p2)
 4 }
 5 println(process("bill",20))         //name:bill age:20
 6
 7 func process1(name p1:String, age p2:Int) ->String
 8 {
 9          return "name:" + p1 + " age:" + String(p2)
10 }
11 println(process1(name:"Mike",age:17))     //name:Mike age:17.//println(process1(age:17,name:"Mike")  //这种会报错,说没发现name,所以这个顺序必须严格一致。

2、内部参数名和扩展参数名合二为一

1 func process2(#name:String, #age:Int) ->String
2 {
3      return "name:" + name + " age:" + String(age)
4 }
5 println(process2(name:"BILL",age:30))

3、默认参数值

 1 func process3(name p1:String = "MIKE", age p2:Int = 30) ->String
 2 {
 3       reutrn "name:" + p1 + " age:" + String(p2)
 4 }
 5
 6 println(process3())
 7 println(process3(name:"JOHN"))
 8
 9 func process4(name:String = "mike", age:Int = 30) ->String
10 {
11        return "name:" + name + " age:" + String(age)
12 }
13
14 println(process4(name:"..."))//前面虽然是用内部参数名定义的,但是由于后面的赋值操作,所以将内部参数隐式转为了外部参数,这里如果不加name:会报错。

4、可变参数

5、常量和变量参数

6、输入输出参数

7、函数类型

8、嵌套函数

时间: 2024-10-21 04:56:43

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中的每个函数都有一个类型,包括函数的参数类型和返回类型.您可以方便的使用此类型像任何其他类型一样,