Chapter 1. The Architecture of Swift 一、Swift總體機構 二、對象類型 三、變量 四、方法 五、Swift文件結構 六、作用域、生命期 七、模塊

一、Swift總體機構

  1. 關於分號與換行符
  • 在Swift中一條語句不需要以分號結束(加不加分號都可),以換行符標識一條語句的結束
  • 但是如果一行包含多個語句,則語句之間需要以分號分割
  • 一條語句可以分割爲多行,以避免過長的行
print("hello")
print("world")

print("hello"); print("world")

print(
        "hello world")
  1. 註釋
  • swift支持單行註釋也支持多行註釋
print("hello world")  // 當行註釋,也叫C++分割的註釋,雙斜槓後面的所有內容都是註釋

/*
 *   這是多行註釋,也叫C風格的註釋/* */之間的所有內容都是註釋
 */
print("多行註釋")
  • 在許多語言裏多行註釋不可以嵌套,但是在Swift中,多行註釋是可以嵌套的
  1. 編譯
  • Swift是編譯型的語言且Swift的編譯器十分嚴格
  1. 所有的都是對象
let s = 1.description

extension Int {
    func sayHello() {
        print("Hello, I'm \(self)")
    }
}
 
1.sayHello()
  • 大多數程序設計語言(不含一些腳本語言)上述語句都是不合法的,但是在Swift中卻是合法的
  • 這表明在Swift中像1這樣的也是一個對象
  • 甚至通過extension關鍵字給1這種Int類型添加新的方法

二、對象類型

  • 在大多數編程語言中,對象僅指類的實例,但是Swift則不然
  • 在Swift中,類、結構體、枚舉的實例都是對象

三、變量

  1. 變量的本質
  • 變量是對象的名字
  1. 變量的聲明、初始化、類型
let one = 1
  • let標識了one這個變量的類型,與之相同的還有var,分別代表該變量是否可變
  • one代表變量名
  • one的後面可以以: Int的形式給出one的類型,如果沒有給出,則根據賦值的類型進行推斷,並且該類型確定之後就不可再變
  • 類型第一個字母一般大寫,變量的名稱第一個字母一般小寫

四、方法

  • 方法必須在某個方法中調用
  • 方法定義如下
func go() {
    let one = 1
    var two = 2
    two = one
}

五、Swift文件結構

  1. 只有特定的內容可以位於Swift文件的頂層(不是頂部的意思,相當於文件的所包含內容的第一級)
// 模塊引入語句
imort UIKit

// 變量聲明,此處聲明的變量是全局變量
let topVariable = 1

// 方法聲明
func functionDeclara() {
  print("方法申明")
}

// 對象(類、結構體、枚舉)類型聲明
class Manny {
}
  • 在大括號內可以包含變量、方法、對象聲明

六、作用域、生命期

  • 作用域包括模塊、文件、花括號
  • 作用域限定範圍、生命期限定時間
  • 名稱空間提供了名稱管理的便利性,但是不像C++有明確的namespace這樣的關鍵字

七、模塊

  • 每個應用就是一個模塊,模塊名是應用名
  • 引入一個模塊後,就可以使用該模塊的頂層名稱
  • 所有的Swift相關內容都在Swift這個包裏,可以使用improt Swift引入這個模塊,但是沒有必要這麼做,這個模塊是自動包含的
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章