swift的字串型別由string
型別表示,也有多種訪問方式,例如以character
集合方式訪問。
字串的字面量是一對雙引號包裹著的具有固定順序的字符集。
一對三個引號包裹著的字串是多行字串字面量。字串開始位置為三引號後一行(意味著第乙個換行符不會計入),結束位置是三引號前一行(意味著三引號前的換行符不計入)。
多行字串出現換行符,那麼字串對應位置也有換行符。如果不需要換行符,並且希望換行的話需要使用反斜槓\
作為續行符。
多行字串會對縮排進行匹配,關閉引號前的空格數會看做縮排直接去除。
unicode字元
在三引號中使用單個雙引號不需要轉義,使用三引號至少需要將乙個雙引號轉義。將引號的外面加上一對
#
,那麼引號內轉義意義消失,變成普通字元。如果需要轉義,那麼要在反斜槓後加上對應數量的#
,例如# "line1 \#n line2" #
的轉義字元就會生效。多行字串也有一樣的效果。
有兩種方式:
var emptystring = ""
var anotheremptystring = string()
兩種方式完全等價。並且可以使用isempty
屬性判斷是否為空字串。
因此字串在拷貝時會拷貝乙份副本,而不是對原始字串進行操作。
可以使用for-in
語法逐個訪問字元,同時也可以使用字元陣列初始化字串:
let catcharacters: [character] = ["c", "a", "t", "!", " Chapter 3 棧與佇列
2.佇列 3.棧與佇列的應用 通常,棧可定義為只允許在表的末端進行插入和刪除的線性表。後進先出 lifo 棧的基本操作 解答演算法題時,若題幹未做出限制,則可直接使用這些基本的操作函式。p60 p62 利用棧底位置相對不變的特性,可讓兩個順序棧共享乙個一維資料空間,將兩個棧的棧底分別設定在共享空間的...
Chapter 3 軟體過程結構
由圖可以看出,每個框架活動由一系列軟體工程動作構成 每個軟體工程動作由任務集來定義,這個任務集明確了將要完成的工作任務 將要產生的工作產品 所需要的質量保證點,以及用於表明過程狀態的里程碑。過程模式 process pattern 描述了軟體工程工作中遇到的過程相關的問題,明確了問題環境並給出了針對...
Chapter 3 棧和佇列
一 棧和佇列的基本概念 棧的基本概念 只能在一端進行插入或刪除的線性表。進行插入或刪除操作的一端稱為棧頂,另一端為棧底,棧底是固定不變的。棧的特點 filo 先進後出 棧的儲存結構 順序棧和鏈式棧 和線性表類似 棧的數學性質 當n個元素以某種順序如棧,並在入棧的過程中可以隨時出棧時,最終在所有元素經...