import Foundation//變量聲明使用//使用 let 來聲明常量,使用 var 來聲明變量 常量只能為它賦值一次let name="cuiyw";var age:Int=20;//聲明時類型是可選的,聲明的同時 賦值的話,編譯器會自動推斷類型var money:Double=200.0;//有一種更簡單的把值轉換成字符串的方法:把值寫到括號中,并且在括號之前寫一個反斜杠let infto=name+String(age)+"/(money)";PRintln(infto);//函數//func 函數名( 參數變量:類型 ,參數變量:類型...){}//說明://1: func 是函數關鍵字//2:{} 函數體//3: 參數變量是默認常量類型,不能在函數函數體里面直接修改//即 func A (value:String) 與 func A (let value:String)寫法是相同的,即value 是常量。參數不能修改//a.無參數無返回值func functest(){ println("functest");}//b.有參數無返回值 可以設置默認值func functest(name:String,age:Int=23){ println(name+"/(age)")}functest("cyw");//c該方法與b方法一起調用時 都調用b方法//func functest(var name:String)->String//{// name="a1變量參數cyw";// println(name);// return name;//}//functest("cyw");//func 函數名( var 參數變量 : 類型,... ) {}//說明//1: func 函數關鍵字//2: var 參數變量 :類型 表示參數變量是可變變量,不是常量,可以任意修改//d該方法與b方法比較 時各自輸出//方法也可以添加一個外部參數名func functest( var personName name:String){ name="a變量參數cyw"; println(name); // return name;}functest("cyw");//e.有參數有多個返回值func functest()->(String,Int){ return("cuiyw",23); }// f 輸入輸出函數 inout聲明就不能用 var let 聲明 同時參數也不能是let聲明的func hello( inout sayhello say:String ){ say="hello";}var hello="say hello";hello(sayhello: &hello);println(hello)//g 內部函數func func1(){ func func2() { println("fuc2"); } func2(); }func1();//h 返回函數類型的函數func add(num:Int)->Int{ return num+1;}func sub(num:Int)->Int{ return num-1;}func func3(num:Bool)->(Int)->Int{ return num ? add:sub;}var num=9;var fun:(Int)->Int=func3(num>10);num=fun(num);println(num);//支持可變參數長度的函數func sumOf(numbers: Int...) -> Int { var sum = 0 for number in numbers { sum += number } return sum}println(sumOf(22,22))println(sumOf(42, 597, 12))
新聞熱點
疑難解答