標籤:
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)->Int102 {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);
Swift基礎文法之變數函數