【iOS】Swift資料類型、運算子、新增語句等小結

來源:互聯網
上載者:User

標籤:swift   ios   資料類型   運算子   switch   

總結複習一些基本的東西,主要是與OC不同的以及新增的。

一、基礎資料型別 (Elementary Data Type)

Int、Float、Double、Bool、Character、String(首字母都大寫)
Array、Dictionary、元群組類型(Tuple)、可選類型(Optional)

指定資料類型:

let a:Int = 10  //指定資料類型。 一般不需要指定,會自動判斷類型。 (使用時需初始化)
1.1 整形

//1.1整形let maxInt = Int.max     //擷取Int類型的最大值let minInt = Int.minlet a1 = 10    //十進位let a2 = 0b1010  //二進位以0b開頭let a3 = 0o12   //八進位以0o開頭let a4 = 0xA    //十六進位0x

1.2 浮點

//1.2浮點型Float,Doublelet b1 = 0.123    //預設是Doublelet b2 = 0.123e3  //123.0

1.3 Bool ,跟上主流了。。。。

//1.3Bool (不是YES/NO了)let c1 = truelet c2 = false

1.4  元祖

//1.4元組. 可以是N個任意類型的資料let tup1 = (age:1,name:"abc",hight:2,jj:0.1)  //帶元素名稱let tup2 = (1,"abc",2,0.1)   //省略元素名稱var tup3:(Int,String) = (1,"haha")   //指定類型. (指定類型後就不能再寫元素名稱了)var (t1,t2) = tup3   //直接弄2個變數接收元祖var (_,t3)  = tup3   //只接收一個

二、資料的輸出格式 && 類型轉換 && 類型別名

簡化了不少。

//2.1可以在數字中增加額外的0或_, 增強可讀寫let d1 = 000123let d2 = 00123.0012300let d3 = 1_2_3//let d4 = _123   //錯誤

//2.2類型轉換let e1 = 1let e2 = 0.12//let e3 = e1 + e2  //錯誤, 類型不同不能直接相加let e3 = Double(e1) + e2   //類型轉換

類型別名就相當於C中的typedef

//2.3 類型別名 typealiastypealias XNInt = Intlet test:XNInt = 10

三、新加的幾個運算子

3.1 範圍運算子,上篇WWDC上用過

//3.1 範圍運算子..<   ...for index1 in 1...10{ }  //表示閉包[1 10]for index2 in 1..<10{ }  //表示半閉合[1 10)

3.2 溢出運算子。(新增加的,可用來處理資料溢出的情況)

&+溢出加 &-溢出減 &*溢出乘 &/溢出除 &%溢出餘

let f1 = UInt.max//let f2 = x + 1  //這樣寫會上溢let f2 = f1 &+ 1   //溢出加. 值為0. 變為溢出後的最小值let g1 = 10//let g2 = g1 / 0  //會報錯let g2 = g1 &/ 0   //值為0//let g3 = g1 % 0  //會報錯let g3 = g1 &% 0   //值為0

3.3 一些注意的地方

非0即真這種C語言的東西遭淘汰!賦值更加靈活,且賦值沒有返回值。

let (x,y) = (1,2)    //整體賦值//if(x = y){ }    //這樣寫是錯誤的. 能防止將==寫成=//if(10){ }     //這樣寫也是錯誤的. 非0即真已經不適用.if(true){ }

四、流程式控制制語句

新增加for in語句,同時switch語句更加靈活。

4.1 迴圈for in

for h1 in 1...10{    println(h1)}for _ in 1..<10{    //不需要用到範圍中的值時,直接忽略用_    println("####")}
4.2 標籤 (可用來跳出指定迴圈,瞭解即可)
xn:    for _ in 1...3 {        println("***")        for tmp in 1...5{            println("###")            //指定退出            if tmp == 3{                break xn            }        }}
4.3  Switch語句

1)與C語言中的不同. 不必每個case下寫break,自動break
2)每個case後面必須有可執行語句, 否則會報錯
3)每個case都可以匹配多個條件, 也可以填寫一個範圍
4)switch要保證處理所有的情況,一定加上default.
5)case還可以匹配元祖

let score = 10switch score{case 0...3:    println("差")case 4,5,6,7:    println("良")case 8...10:    println("優")default:    println("超神")}

評價:確實簡化不少,寫起來也挺順手。


參考:

The Swift Programming Language  

Apple Dev Center


轉載請註明出處:http://blog.csdn.net/xn4545945  


【iOS】Swift資料類型、運算子、新增語句等小結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.