Swift介紹

Swift介紹編程

Swift介紹

Swift發佈於2014年wwdc大會,是蘋果推出的一門編程語言,剛推出的時候主要在os X和iOS平臺,今年wwdc大會上,蘋果公司宣佈今年年末Swift將會開源,開源的部分包括編譯器和源代碼,這對與開發者來講,是振奮人心的,同時也說明了蘋果推懂這門編程語言的決心.swift

爲何要學習這門語言?我認爲有如下幾個緣由

  1. OC雖然很穩定,可是缺乏不少適合現代編程語言的特色.而Swift的一個優勢就是modern
  2. Swift更加高效
  3. Swift更加interactive
  4. Swift是typesafe的

初探

打印函數

println("Hello World") // 在Swift2.0中廢除
print() // 這個輸出函數一直存在,替代了上一個函數,自動換行

註釋

註釋能夠多層嵌套,而且在Swift2.0中,支持markup語法註釋安全

// 單行註釋

/* 外層多行註釋
    /*
        內層多行註釋
    */
 */

語句以後不用分號

在Swift中,吸取了不少其餘語言的優勢,它在書寫上跟加簡潔,去掉了;less

同一行寫多條語句,還須要加上,或者;區別編程語言

let number1 = 1, number2 = 2
let switf = "I'm a coder"; print(swift)

類型推斷

Swift是類型安全的語言,使用前必須聲明數據類型,可是Swift有類型推斷機制,不用每次都寫上類型
let intValue = 10   // value 系統會自動推斷爲Int類型
let doubleValue = 5 + 1.44  // Double

數值類型轉換

let value: UInt = 1
let value2: UInt16 = 10
let value3 = 1 + UInt(value2)   //類型不匹配, 須要類型轉化
print(value3)

類型別名

typealias至關於C語言中的typedef函數

typealias myString = String
let testString: myString = "Hello World"

數據類型

常量和變量

常量

常量:不能夠修改,用let關鍵字修飾學習

變量

變量:能夠修改,用var關鍵字修飾this

let loginCount = 5
var currrentLoginCount = 0
println("longinCount:\(loginCout)\ncurrentLoginCount:\(currentLoginCount)")
// 在同一行定義一個或多個變量
var x = 5, y = 6, z = 7
let 😀 = 1 // 常量和變量的命名是Unicode字符均可以
聲明一個String類型的變量,變量名爲nameString 
var nameString: String = "Hello World"
let count: Int = 10

數據類型

Bool類型

Swift中的Bool類型只有truefalse調試

let areYouOK = true // 推斷爲Bool類型
if areYouOK {
    println("哈哈")
}

元組 tuples

只取元組中目標元素,其餘元素可用_標記忽略code

let httpCode = (404, "not found")
    // 元組數據的訪問方式
    let (msgCode, message) = httpCode
    println("this is status code \(msgCode)")
    println("this is status message \(message)")
    // 經過下標訪問
    println("this is status code \(httpCode.0)")
    println("this is status message \(httpCode.1)")
    // 只取元組中目標元素,其餘元素可用_標記忽略
    let (justNeedStatusCode, _) = httpCode
    println("this is status code \(justNeedStatusCode)")
    // 能夠在定義元組的時候給單個元素命名
    let http200Status = (status: 200, message: "ok")
    println("this is status code\(http200Status.status), messge is \(http200Status.message)")

可選類型

let possableNumber = "123"
    let converNumber = possableNumber.toInt()
    // converNumber被推斷爲"Int?", 或者Optional Int

    if let number = possableNumber.toInt() {
        println("\(possableNumber) has an integer value of \(number)")
    } else {
        println("\(possableNumber) cound't convered integer")
    }

斷言

// 斷言, 條件爲true, 執行語句
    let age = -3
    assert(age >= 0, "a person's age cound not less than zero")
    // 什麼時候使用斷言, 調試時候用,可引發程序崩潰
相關文章
相關標籤/搜索