從0開始入門學習Swift 04 元組型別

2021-10-19 18:38:14 字數 2477 閱讀 9487

簡單的說可以認定為乙個集合,但是可以進行不同型別的資料封裝,可以進行整體的傳遞和操作

定義乙個元組的幾種方式

//通過型別推斷,推斷出元組中的值

var a =(1

,15.6

,"hello"

,true

,"a"

)//通過自己定義的方式建立,但是引數型別必須與前邊定義型別順序相同

var b:

(int

,string

,double

,bool)=

(1,"world"

,15.2

,false

)//在什麼都不定義的情況下,可以為空

var c =()

//但是如果定義了,不能為空,元組中必須傳值

var d:

(int)=

(1)

1.根據下標,索引取值

2.根據索引來改變值

3.元組的傳遞

//根據下標,索引取值

print

(a.0

)/* 輸出結果為:1 */

//也可以根據索引來改變值,但只有變數形式可以改變,常量形式不能改變a.0

=100

print

(a.0

)/* 輸出結果為:100 */

//元組的傳遞,是值傳遞,而不是引用,相當於是拷貝乙份給變數,更改f中的並不會影響a中的。

var f = a

print

(a)print

(f)f.0=

200print

(f)/* 輸出結果 :

(100, 15.6, "hello", true, "a")

(100, 15.6, "hello", true, "a")

(200, 15.6, "hello", true, "a")

*///也可以直接定義引數名

print

("====直接定義引數名===="

)var test =

(name1:

1,name2:

"2",name3:

false

)print

(type

(of: test)

)print

(test)

print

(test.name1)

var woc:

(name1:

int,name2:

string)=

(1,"hello"

)print

(type

(of: woc)

)print

(woc)

//自動賦值

let(name1,name2,name3,name4)=(

1,"swift"

,false

,true

)print

(type

(of: name1)

)print

(name1)

print

(type

(of: name2)

)print

(name2)

print

(type

(of: name3)

)print

(name3)

print

(type

(of: name4)

)print

(name4)

var(par1,

_,par2)=(

"引數1"

,"引數2"

,"引數3"

)print

(par1,par2)

感興趣的可以直接將上邊的**複製到xcode中執行看看實際效果

print

("提前了解---------------"

)var data =

(name1:

1,name2:

"hello"

,name3:

false

)func

handle

(parm:

(int

,string

,bool))

->

(int

,string

,bool

)print

(data)

print

("-------------------"

)var data2 =

handle

(parm:data)

print

(data2)

var test01 =(1

,1.3,""

,false

)print

(type

(of: test01)

)

從0開始學swift 基礎

可以同時定義多個變數並賦予其型別注釋 let a,b,c int double 64位浮點數,要求至少有15位數字,精度很高。float 32位浮點數,要求最少有6位數字,精度要求不高時使用。注 當你沒有給浮點數標明型別時,swift總是會選擇double 二進位制 0b 八進位制 0o 十六進製制...

機器學習 從0開始

by 香蕉麥樂迪 機器學習簡介 機器學習是許多演算法的統稱,其中包含最近幾年火熱的深度學習,還包括許多適用於各種不同場景的其他機器學習演算法 邏輯斯特回歸,svm,knn,adaboost,em,kmeans等等 這些演算法從誕生到現在都有了幾十年的歷史 深度學習指的是深度神經網路,其中用於處理影象...

openGLSL從0開始學習

首先,找了些優秀的學習 openglsl 雙緩衝 double buffer 機制 01 20getting 20started 03 20hello 20window opengl 三角形 01 20getting 20started 04 20hello 20 opengl shading la...