Swift學習筆記

jopen 9年前發布 | 16K 次閱讀 Swift Apple 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


 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!