1. 程式人生 > >swift文件筆記(一) -- 基礎部分

swift文件筆記(一) -- 基礎部分

1.變數與常量

用 var 來宣告變數,let來宣告常量。 

變數聲明後,可以改變。

常量聲明後,如果是值型別的無法作任何改變,如果是引用型別,引用所指向的資料仍然可以改變。比如宣告一個let a = 1,那麼a無法改變。如果let b = SomeClass(),b無法改變,但b之下的屬性可以改變。注:在swift中String,Array,Dicationary是值型別。

2.整數與浮點數

可以訪問不同整數型別的minmax屬性來獲取對應型別的最小值和最大值。當儲存最小值和最大值之外的數時,會報錯。

Int屬性:在32位平臺上, 和Int32長度相同。在64位平臺上, 和Int64長度相同。 

Double表示64位浮點數。當你需要儲存很大或者很高精度的浮點數時請使用此型別。

Float表示32位浮點數。精度要求不高的話可以使用此型別。 

Double精確度很高,至少有15位數字,而 Float只有6位數字。在兩種型別都匹配的情況下,將優先選擇Double。 

可以用Int(a),Float(a)等進行數值強轉。

3.元組

元組(tuples)把多個值組合成一個複合值。元組內的值可以是任意型別,並不要求是相同型別。 

let http404Error = (404, "Not Found")

let (statusCode, statusMessage) = http404Error

print("The status code is \(statusCode)")

你還可以通過下標來訪問元組中的單個元素,下標從零開始:

print("The status code is \(http404Error.0)")

你可以在定義元組的時候給單個元素命名:

let http200Status = (statusCode: 200, description: "OK")

print("The status code is \(http200Status.statusCode)")

4.可選型別

使用可選型別(optionals)來處理值可能缺失的情況。用?代表可選型別,可選型別可能有值,可能為nil,不可選型別一定要有值,否則報錯。

可用!來強制解析可選值,但必須有值,否則報錯

可使用可選繫結優雅的解析可選值

 if let actualNumber = Int(possibleNumber) {

     print("\'\(possibleNumber)\' has an integer value of \(actualNumber)")

 } else {

     print("\'\(possibleNumber)\' could not be converted to an integer")

}

5.錯誤處理

你可以使用 錯誤處理(error handling) 來應對程式執行中可能會遇到的錯誤條件。 

 func makeASandwich() throws {

     // ...

 do {

     try makeASandwich()

     eatASandwich()

 } catch SandwichError.outOfCleanDishes {

     washDishes()

 } catch SandwichError.missingIngredients(let ingredients) {

     buyGroceries(ingredients)

6.斷言

在某些情況下,如果值缺失或者值並不滿足特定的條件,你的程式碼可能沒辦法繼續執行。這時,你可以在你的程式碼中觸發一個 斷言(assertion) 來結束程式碼執行並通過除錯來找到值缺失的原因。 

如果條件判斷為 true,程式碼執行會繼續進行;如果條件判斷為false ,程式碼執行結束,你的應用被終止。 

let age = -3
assert(age >= 0, "A person's age cannot be less than zero") 


相關推薦

swift筆記() -- 基礎部分

1.變數與常量 用 var 來宣告變數,用let來宣告常量。  變數聲明後,可以改變。 常量聲明後,如果是值型別的無法作任何改變,如果是引用型別,引用所指向的資料仍然可以改變。比如宣告一個l

swift筆記(十) -- 繼承

一個類可以繼承另一個類的方法,屬性和其它特性。當一個類繼承其它類時,繼承類叫子類,被繼承類叫超類(或父類)。 不繼承於其它類的類,稱之為基類。 Swift 中的類並不是從一個通用的基類繼承而來。如果你不為你定義的類指定一個超類的話,這個類就自動成為基類。 1.

swift筆記(六) -- 函式

1.多重返回值函式 你可以用元組(tuple)型別讓多個值作為一個複合值從函式中返回 func minMax(array: [Int]) -> (min: Int, max: Int) {     var currentMin = array[0]  

swift筆記(七) -- 閉包(Closures)

閉包是自包含的函式程式碼塊,可以在程式碼中被傳遞和使用。Swift中的閉包與 C和 Objective-C中的程式碼塊(b  locks)以及其他一些程式語言中的匿名函式比較相似。函式和閉包都是引用型別。 1.閉包表示式語法 閉包表示式語法有如下的一般形式:

swift筆記(九) -- 類和結構體

1.類和結構體對比 Swift 中類和結構體有很多共同點。共同處在於:  • 定義屬性用於儲存值 • 定義方法用於提供功能 • 定義下標操作使得可以通過下標語法來訪問例項所包含的值

swift筆記(十七) -- 協議

協議就是協議裡的屬性方法,在遵循協議的類·結構體·列舉中,必須要有實現。 1.協議語法 protocol SomeProtocol {// 這裡是協議的定義部分  var mustBeSettable: Int { get set }//讀寫  

演算法工程師修仙之路:python3官方筆記

本筆記來自於python手冊的中文版 第一章 開胃菜 雖然 Python 易於使用,但它卻是一門完整的程式語言。 與 Shell 指令碼或批處理檔案相比,它為編寫大型程式提供了更多的結構和支援。 Python 提供了比 C 更多的錯誤檢查

Redux 基礎教程 翻譯 action reducer store

基礎部分 一 譯者目前在做前端,部落格內容主要是文件翻譯。如果讀者希望我翻譯某些和前端相關的文件,歡迎留言告訴我。對於已有在網路上能夠搜到質量較高譯文的文章,我就不做重複工作了。本人精力有限,翻譯質量達不到出版書籍的程度,可能有些人看不懂,不過我相信這總

hibernate核心配置需要配置的部分

核心 可選 eight 引入 image 配置文件 cnblogs height nbsp 第一部分 數據庫部分 第二部分 hibernate部分(可選) 第三部分 引入映射配置文件 hibernate核心配置文件需要配置的部分

Python不歸路_操作()

b+ err ros 語句 讀取 光標位置 text 運維 移動 Python文件操作   Python文件操作的語法是: open(file,mode,buffering,encoding,erros,newline,closefd)   我們先來看下各個參數,   

Windows bat 批處理筆記

.cn bat 批處理文件 window 筆記 count 計算機 bsp 註釋 1、使用“::”註釋 2、net 命令  net accounts :獲取當前計算機賬戶信息   Windows bat 批處理文件筆記

一個mapreduce同時加載讀取多個的代碼部分

resource blog efi [1] buffer sort family protect rri 方法一:   a.第一步:在job中加載兩個文件所在的位置 FileInputFormat.setInputPaths(job, new Pa

GolangIO

log tempfile for 報告 定義類 from apply util eth Golang文件IO 一 文件IO編程最基本、最常用的就屬讀寫文件操作了。ioutil包實現了一些IO實用功能,其中就包括非常簡捷、好用的文件讀取功能。 ioutil包有7個函數1個

Python讀csv去掉列後再寫入新的

width class 左右 head adl 寫文件 增加 false 打開文件 用了兩種方式解決該問題,都是網上現有的解決方案。 場景說明: 有一個數據文件,以文本方式保存,現在有三列user_id,plan_id,mobile_id。目標是得到新文件只有mobile_

python操作

erro 變量 ioerror 追加 就會 ima acc pri 圖片 Python 提供了必要的函數和方法進行默認情況下的文件基本操作 open()函數打開文件: open()函數語法:File_object= open(file_name [, access_mode

08-Linux基礎入門(六)-和目錄的屬性及權限之類型、擴展名及權限基礎

ins tmp first 串口 .py 都是 公眾平臺 cond .com 一、Linux中的文件類型在Linux系統中,可以說一切(包括目錄、普通文件、設備文件等)皆為文件。文件類型包含有普通文件、目錄、字符設備文件、設備文件、符號鏈接文件、管道文件等等,當執行ls

shell腳本轉化為二進制執行種方法

shell 加密 因為腳本中需要明文顯示密碼的需求,想法是將已經編輯好的shell腳本,封裝成二進制可執行文件。使用工具shc官方下載網站:http://www.datsi.fi.upm.es/~frosal/使用最新版本:shc-3.8.9b.tgz tar -zxvf shc-3.8.9b.tgz

inittab配置--筆記

inittab配置文件一·inittab文件的結構:id runlevels action process 1) id 用於在inittab文件中唯一標識一個配置記錄 2) runlevels 用於指定該記錄在哪些運行級別中運行 3) action 用於描述記錄將執行哪種類型的動作 4) proc

Chef學習筆記()--基礎知識與安裝配置

Chef 概念 安裝 配置 示例 通常Chef由三部分組成:Workstation、Chef Server、Chef Node。 Workstation是進行日常工作的機器,需安裝Chef Development Kit,用來編寫cookbooks,管理Chef Server和Node。

.properties屬性 筆記

查看 鍵值 OS rop mysql 常量 except 屬性文件 裏的 將連接數據庫的一些常量放入其中,便於查看|修改|維護。 properties裏用鍵值對的形式存儲,每一行對應一個鍵和值,鍵=值 的形式,不加分號";"。 用來存儲數據庫的驅動類全名,URL,USER,