標籤:style blog http color 使用 資料
1:hello world
import Foundationprintln("hello world")
就這樣,一句代碼就可以列印出 hello world 不需要在末尾加";" 這裡如果你加了";"同樣可以啟動並執行。感覺好像是為了避免麻煩,不再像c語言那樣,每句代碼末尾都加";",說來也是,從哲學來說,每句代碼都加";"約等於不加";" ,反而每次都寫,麻煩!
2:代碼注釋,和c語言的 "//" 與"/* */"一樣
3: println()輸出
如果要輸出變數
var fTmp = 8.9println("\(fTmp)")//println的格式化是用的"\()"來做的,這個萬能的東西,頂替了c語言的printf()時候用%s,%d, %c, %f格式化寫參數的辦法。其原因我估計還是因為他能推理變數的類型,所以自己做了資料類型格式化吧,
4:常量和變數
在使用前必須要先聲明。聲明是用 ":"
var strMsg: StringstrMsg = "I‘m swift"
var strMsg : String?//預設初始化位nil
let iMax = 10 //常量 ,需要初始化,不能再次被修改
//iMax = 9 編譯失敗,可能類似與c語言的const修飾吧。
var iMini = 3//變數,可以不初始化
var iTmp : Int32//變數聲明。沒初始化iTmp = 44//變數賦值
這裡,swift對資料類型是採用的推理類型而來的,他的推理類型也符合c語言中資料類型轉換時候的相容規則
var fTmp = 8.9fTmp = 9println("\(fTmp)")//這裡推理fTmp為float類型,那麼這裡在fTmp=9時候,可以把整數9類型轉換成float類型。所以你可以看到輸出的是 9.0
但反之則不行
var fTmp = 8
//fTmp = 9.02 編譯失敗
可以一次定義多個變數
var iTmp = 9, iTex = 9.8//這裡每個變數的型別推斷都是獨立的。// iTmp = 8.99 出錯//iTmp 被推理為 int。 iTex推理為float
var red, green, blue: Double//表示三個變數都為Double類型
變數名和常量名支援unicode,這樣,也可以用漢字或者其他字元,但我想我是不會這麼使用的。
5:int 資料類型
int資料表示範圍可以用 .max方法
let minValue = UInt8.min // minValue is equal to 0, and is of type UInt8let maxValue = UInt8.max // maxValue is equal to 255, and is of type UInt8
Int 根據系統,32系統下表示 Int32 和64位系統下Int64。
UInt 根據系統,32系統下表示 UInt32 和64位系統下UInt64。
let decimalInteger = 17let binaryInteger = 0b10001 // 17 in binary notationlet octalInteger = 0o21 // 17 in octal notationlet hexadecimalInteger = 0x11 // 17 in hexadecimal notation
類型轉換
var dbVar :DoubledbVar = 9.9let iVar = Int(dbVar)println("\(iVar)")var strInt = "123"var iVar = strInt.toInt()如果成功,iVar返回Int 否則返回nil
6:Bool 該類型明確的是 "true" 和"false"
if 語句只檢測Bool類型
let iFlag= 1if iFlag { // 編譯失敗, 1不是邏輯值}
let iFlag= 1if 1==iFlag { //可以}
7:元組資料 用()括起來
let tupError = (500, "httpError")let (errorCode, errorMsg) = tupErrorprintln("\(errorCode)")//500println("\(errorMsg)")// httpError
你也可以定義命名元組
let tupError = (errorCode :500, errorMsg:"httpError")println("\(errorCode)")//500println("\(errorMsg)")// httpError
8:nil swift的nil不同於其他語言,比如OC表示null 指標,而swift表示沒有值,至於類型不僅限於指標類型。swift中可以把nil設定給任何類型
var iFlag :Int?iFlag = niliFlag = 9