1 import Foundation 2 //变量声明使用 3 4 //使用 let 来声明常量,使用 var 来声明变量 常量只能为它赋值一次 5 let name="cuiyw"; 6 var age:Int=20; 7 //声明时类型是可选的,声明的同时 赋值的话,编译器会自动推断类型 8 var money:Double=200.0; 9 //有一种更简单的把值转换成字符串的方法:把值写到括号中,并且在括号之前写一个反斜杠 10 let infto=name+String(age)+"\(money)"; 11 println(infto); 12 13 //函数 14 //func 函数名( 参数变量:类型 ,参数变量:类型...){} 15 //说明: 16 //1: func 是函数关键字 17 //2:{} 函数体 18 //3: 参数变量是默认常量类型,不能在函数函数体里面直接修改 19 //即 func A (value:String) 与 func A (let value:String)写法是相同的,即value 是常量。参数不能修改 20 21 22 //a.无参数无返回值 23 func functest() 24 { 25 println("functest"); 26 } 27 28 //b.有参数无返回值 可以设置默认值 29 func functest(name:String,age:Int=23) 30 { 31 println(name+"\(age)") 32 } 33 functest("cyw"); 34 35 //c该方法与b方法一起调用时 都调用b方法 36 //func functest(var name:String)->String 37 //{ 38 // name="a1变量参数cyw"; 39 // println(name); 40 // return name; 41 //} 42 //functest("cyw"); 43 44 45 //func 函数名( var 参数变量 : 类型,... ) {} 46 //说明 47 //1: func 函数关键字 48 //2: var 参数变量 :类型 表示参数变量是可变变量,不是常量,可以任意修改 49 50 //d该方法与b方法比较 时各自输出 51 //方法也可以添加一个外部参数名 52 func functest( var personName name:String) 53 { 54 name="a变量参数cyw"; 55 println(name); 56 // return name; 57 } 58 functest("cyw"); 59 60 61 62 //e.有参数有多个返回值 63 func functest()->(String,Int) 64 { 65 return("cuiyw",23); 66 67 } 68 // f 输入输出函数 inout声明就不能用 var let 声明 同时参数也不能是let声明的 69 func hello( inout sayhello say:String ) 70 { 71 say="hello"; 72 } 73 var hello="say hello"; 74 hello(sayhello: &hello); 75 println(hello) 76 77 78 //g 内部函数 79 func func1() 80 { 81 func func2() 82 { 83 println("fuc2"); 84 } 85 func2(); 86 87 } 88 func1(); 89 90 //h 返回函数类型的函数 91 func add(num:Int)->Int 92 { 93 return num+1; 94 } 95 96 func sub(num:Int)->Int 97 { 98 return num-1; 99 } 100 101 func func3(num:Bool)->(Int)->Int 102 { 103 return num ? add:sub; 104 } 105 var num=9; 106 var fun:(Int)->Int=func3(num>10); 107 num=fun(num); 108 println(num);
时间: 2024-10-12 13:44:56