Swift學習筆記
Swift學習筆記
注意點:
1:不用些main函數
2:不用加分號(同一行寫多條語句要加)
3;用let聲明常量(常量不可修改),var聲明變量
4:字符串用""(雙引號擴著)
注:Swift是類型安全語言,
1:數據類型
常見的數據類型:比其他語言多了 元組(Tuple),可選類型(Optinal)
注:Swift在使用變量前必須初始化,沒有默認初始化
1.1:聲明變量,常量類型 ,一般可不寫,Swift可以自動推斷數據類型
let age:Int = 10;
標示:
十進制:直接寫
二進制:0b(前綴:零b)
八進制:0o(前綴零o)
十六進制:0x(前綴零x)
浮點數
Double:64位浮點數(默認)
Float:32位浮點數
Bool:true與false,但是與OC不同:0不是false。
2:字符串
1:字符串的拼接:直接用“+”
let s1 = "123" let s2 = "456" let s3 = s1+s2//字符串的拼接
2:字符串
用反斜線和小括號()可把常量或變量插入到字符串中
let num = 2 let str = "I Hava \(num) dogs" 或者 把num強制轉為String類型, let str = "I Hava "+String(num)+" dogs"
3:運算符
這里著重介紹:范圍運算符和元組類型
3.1范圍運算符
范圍運算符:"..<"與"..."
a..<b 表示:[a,b) a...b 表示:[a,b]
用處:(對于for循環,可以非常方便的使用。)
for i in 0...3{ print(i); }
3.2元組
元組是由任意N個類型的數據組成,元組中得元素成為元素
表示:
let point = (x:1,y:2)//x,y為元素名稱 var point = (1,2) let point = ()//空元組 let point:(Int,String) = (10,"cnblog")//定義時指明元素的類型 let point = (10,"cnblog")
元素訪問:
point.0//訪問元組第一個位置的元素 point.x//針對第一種表示可用, point.0 = 2/修改元素的值,只針對用var聲明的元組
注:1:如果用的是let聲明的話不能修改元組的元素的值,但是var可以。2:在明確指明元素類型的情況下,不能加上元素名稱
賦值let(x,y) = (1,2)//x與y的值分別是常量,并且Swift的賦值運算沒有返回值
可以使用下劃線忽略某個元素的值,取出其他元素的值
var point = (1,2) var(_,y) = point;//用y來接收point中2得值
4:流程控制
著重介紹for-in,switch
4.1使用for-in
for i in 0...3{ print(i); } for _ in 0...3{ print("---"); }
注:可以使用_循環來忽略循環體的值.
4.2使用標簽
標簽:可以明確要退出哪個循環
flag:for _ in 1...3{ //flag為 標簽
for item in 1...5{
println("------")
if flag == 2 {
break group
}
}
println("lalla")
4.3使Switch的使用
C語言中Switch只能放int,但是Swift中可以放int,String等。同時可以省略break,即可退出循環
注:1:每個case中必須要有能夠執行的語句,也即case后面的語句不能為空,
2:但是case后面,可以填寫多個條件,條件之間用逗號隔開
switch x { case 1,2,3: println("1,2") default println("other"); }
3:case后可填寫范圍作為匹配
switch x { case 1...3://這里是數學上的[1,3] println("1,2") default println("other"); }
4:case可以匹配元組
let point = (1,1); switch x { case (0,0): println("0,0") case (_,1): //忽略point.0的值,也即任何值都可以 println("any,1") default println("other"); }
5:case后可以跟著where
let point = (1,1); switch x { case (x,y) where x = y: println("x=y") default println("other"); }
5:函數
1:定義格式
1:有返回值
func 函數名(形參列表) -> 返回值類型{ //函數體 } //形參列表格式:形參名:形參類型
2:無返回值
//2.1: func 函數名(形參列表) -> Void{ //函數體 } //2.2: func 函數名(形參列表) -> Void{ //函數體 } //2.3 func 函數名(形參列表){ //函數體 } //注空元組相當于Void
外部參數名:可以在調用函數時明確各個參數的含義
定義格式 func 函數名(外部參數名 形參名:形參類型) ->返回值{ //函數體 } 注:一旦定義了外部參數名,在調用函數的時候一定要加上外部參數名 //簡寫 func 函數名(#形參名:形參類型) ->返回值{ //函數體 }
Swift函數的參數分為常亮參數和變量參數
迷人情況下,函數的參數都是常量參數,不能再函數內部修改
func test(num:Int){ num = 10//報錯 }
6:輸入輸出參數
Swift中可以利用輸入輸出參數修改外部變量的值,(同C語言的指針)定義:參數名前加上inout
func change(inout num:Int){ num = 10 } var a = 20 change(&a)
其他
類型別名:關鍵字:typlealias
格式typlealias myInt = Int