Swift基礎 (一)

來源:互聯網
上載者:User

標籤: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
相關文章

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.