swift入門教程(1)

  原文地址:http://blog.csdn.net/hello_hwc/article/details/39782829

一、常量和變量

這裏首先說的是,swfit可以使用分號結尾,也可以不使用,但是,一行要執行多個語句,一定要分號

變量聲明用var 
常量聲明用let
常量和變量的名字可以是Unicode字符,但是不能包含數學符號,箭頭,保留的字符(例如:while)

[plain] view plaincopy
  1. let constVar = 10  
  2. var tempVar = 11.0  
[plain] view plaincopy
  1. let 黃文臣 = "程序員"  
  2. constVar++ //Wrong constVar是常量  
  3. tempVar++  
  4. println(tempVar)//輸出Var並且換行  

swift是類型安全的語言,編譯器會根據變量或者常量初始化的時候去給它分配一個類型

例如:

[plain] view plaincopy
  1. let radius = 1 + 0.06//swift會推斷出radius是浮點數Double類型  


聲明變量或者常量的時候可以顯式聲明它的類型
[plain] view plaincopy
  1. var tempVar:String = "1234" 表示tempvar是一個String類型的變量  

一般無需這樣聲明,因爲swift突出一個精簡,編譯器能做的事情,程序員就不要畫蛇添足了
備註:println的輸出複雜信息

[plain] view plaincopy
  1. println("The current output is \(tempVar)")  


二、註釋
和C++,OC類似,具有以下注釋方式
//註釋一行
/*
...
*/註釋一段
另外,
swfit支持註釋嵌套
/*
...
/*...*/
*/
三、數據類型
整數

Int:長度和平臺的原聲字長相同,即32位的時候,int就和Int32相同,64位機子的時候,就和Int64相同
UInt 和Int類似,只不過無符號//不推薦使用,最好統一使用int,方便類型轉換
另外還有
Int8,Int16,Int32,Int64等類型,只不過長度不同
Int.max 返回Int的最大值
Int.min 返回Int的最小值
二進制數:0b 
八進制數:0o
十六進制:0x
exp表示10^exp
例如
[plain] view plaincopy
  1. let binaryInteger = 0b1111  
  2. let octalInteger = 0o21  
  3. let hexadecmalInteger = 0x21  
  4. let expFloat = 1.25e-2// 1.15* 10^-2 = 0.0125  


浮點數
Double:64位//精度很大的浮點數
Float:32位 //一般精度的浮點數


在swift中,
整數和浮點數的轉換必須顯式指定
[plain] view plaincopy
  1. let four = 4  
  2. let varDouble = 0.1111  
  3. let tempDouble = Double(four) + varDouble//則,tempDouble爲Double類型  




布爾值
兩個布爾值:true false 分別表示真假


元組(tuples)
[plain] view plaincopy
  1. 多個值表示的一個序列,熟悉Python的同學對這個應該不陌生  
  2. let tupleExample = ("Hwc","程序員")  
  3. let (name,jop) = tupleExample  
  4. println("The jop of \(name) is \(jop)")  
  5. 可以獲得一部分元素,忽略的部分用下劃線表示  
  6. let (name,_) = tupleExample  
  7. 也可以使用下標訪問  
  8. let name = tupleExample.0  
  9. let jop = tupleExample.1  
  10. 元組對於一個函數有多個返回值來說非常有用  




可選類型

[plain] view plaincopy
  1. let var1 = "12"  
  2. let intVar1 = var1.toInt()  

這裏的intVar1就是一個可選類型Int?,問號表示要麼intVar存在,他就是一個Int類型,要麼intVar1不包含值
用if 可以判斷這變量or常量是否含有值,如果含有可以用感嘆號!來獲取這個值,就是告訴編譯器器,我知道這個值存在,你直接把他轉換成Int類型,不要是Int?類型
[plain] view plaincopy
  1. if intVar1!= nil{  
  2.     let result = intVar1!  
  3. }  


對一個變量賦值nil,則表示它沒有值
nil不能用於非可選類型的變量和常量
例如
[plain] view plaincopy
  1. var temp:Int?  
  2. temp = nil//right  
  3. var temp:Int  
  4. temp = nil //Wrong  



可選綁定
使用可選綁定來判斷類型是否包含值,如果包含就把這個值賦給臨時常量或變量
常用在if或者while的判斷裏
例如

如果可以轉換爲整數,則if條件滿足,否則不滿足

let intVar = var1.toInt()

if let tempVar = intVar{//Do something else }


隱式解析可選類型

[plain] view plaincopy
  1. var temp1:Int? = 10  
[plain] view plaincopy
  1. var intAlwaysExist:Int! = temp1  
  2. println(intAlwaysExist)//Do not need to use intAlwaysExist! ro check if intAlwaysExist != nil  
隱式解析可選類型相對於可選類型的優點是不需要每次都判斷可選類型是否存在,然後用解析符號!來取值。
對於一個可以確定以後一直存在的一個值,用隱式解析可選類型是十分有效的。


三、typealias
相當於typedef,類型別名
使用方法:typealias dataType = Int
let data1:dataType = 5//聲明一個Int類型的data
發佈了25 篇原創文章 · 獲贊 4 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章