1 //
2 // main.swift
3 // FunctionDemo
4 //
5 // Created by xs -Achilles on 15/3/18.
6 // Copyright (c) 2015年 xs -Achilles. All rights reserved.
7 //
8
9 import Foundation
10
11
12 func showInfo(name:String,age:Int)->String{
13 return "name:\(name) age:\(age)"
14 }
15
16 func greeting()->Void{
17 println("Good Evening!")
18 }
19
20 func turpleInfo()->(name:String,age:Int){
21 return ("xs_Achilles",23)
22 }
23
24 //外部参数
25 func enternParam(userName name:String){
26 println(name)
27 }
28
29 func enterParam1(#name:String){
30 println(name)
31 }
32
33 //多个参数
34 func mutiParam(users:String...){
35 for user in users{
36 println(user)
37 }
38 }
39 //默认参数
40 func defaultParam(age:Int = 20){
41 println(age)
42 }
43
44 //inout参数
45 func inoutParam(inout name:String){
46 name = "xdfg"
47 }
48
49 //函数类型
50 func addMoney(a:Int,b:Int)->Int{
51 return a + b
52 }
53
54 //函数作为参数
55 func onMoneyAdded((Int,Int)->Int){
56 println("func call")
57 }
58
59 onMoneyAdded(addMoney)
60
61 //函数作为返回值
62 func onDeleteMoney()->(Int,Int)->Int{
63 return addMoney
64 }
65
66 let hhe = onDeleteMoney()
67 println(hhe(11,2))
68
69 //函数嵌套
70 func a(){
71 func b(){
72 println("I am func b")
73 }
74 println("I am func a")
75 }
76
77
78 println(showInfo("xx",30))
79 greeting()
80 println(turpleInfo().name)
81 enternParam(userName: "hehe")
82 enterParam1(name: "haha")
83 mutiParam("xiaoqiang","xiaoming","xiaohong")
84 defaultParam()
85 defaultParam(age: 25)
86
87 var name = "zl"
88 inoutParam(&name)
89 println(name)
90
91 var getMoney:(Int,Int)->Int = addMoney
92
93 println(getMoney(2,1))