2017-03-16 71 views
1

我知道在Swift中結構和枚舉都是值類型,類和函數都是引用類型。但是元組類型呢?我搜索了蘋果的Swift編程語言3.0,但找不到答案。在Swift中是一個值類型或引用類型?

+1

請訪問,我認爲它會幫助你 - https://whatilearnedtoday.io/swift-tuples/ –

+0

嗨,託尼。正如我以前可能提到過的那樣,沒有必要爲您的所有問題添加「請幫助」樣板。由於很明顯你需要幫助,因此可以將其解釋爲乞討的一種形式。志願者比較喜歡在這裏匆匆忙忙。 – halfer

回答

4

一個簡單的測試表明,元組是值類型:

var tuple1 = (1, 2) 
var tuple2 = tuple1 
tuple1.0 = 3 
print("t1 = \(tuple1), t2 = \(tuple2)") 

輸出:

T1 =(3,2),T2 =(1,2)

如果元組是參考類型,則tuple2將被更改。

+0

而我剛剛從[duplicate](http://stackoverflow.com/questions/24439471/is-there-away)看到了[matt的答案](http://stackoverflow.com/a/24439640/1226963) - 確定 - 如果變量傳入參考類型或值 - t)由kennytm提出。在看到他的代碼之前,我寫了幾乎重複的答案。怪異。 – rmaddy

+0

謝謝你的回答。我也看到了馬特的回答,這要歸功於肯尼特。我想偉大的思想家都會這麼想:P – Thor

+1

或者,讓'x =(1,2); x.1 = 3'產生一個不可變的值錯誤,也認爲它是一個值類型。 –