我知道在Swift中結構和枚舉都是值類型,類和函數都是引用類型。但是元組類型呢?我搜索了蘋果的Swift編程語言3.0,但找不到答案。在Swift中是一個值類型或引用類型?
回答
一個簡單的測試表明,元組是值類型:
var tuple1 = (1, 2)
var tuple2 = tuple1
tuple1.0 = 3
print("t1 = \(tuple1), t2 = \(tuple2)")
輸出:
T1 =(3,2),T2 =(1,2)
如果元組是參考類型,則tuple2
將被更改。
而我剛剛從[duplicate](http://stackoverflow.com/questions/24439471/is-there-away)看到了[matt的答案](http://stackoverflow.com/a/24439640/1226963) - 確定 - 如果變量傳入參考類型或值 - t)由kennytm提出。在看到他的代碼之前,我寫了幾乎重複的答案。怪異。 – rmaddy
謝謝你的回答。我也看到了馬特的回答,這要歸功於肯尼特。我想偉大的思想家都會這麼想:P – Thor
或者,讓'x =(1,2); x.1 = 3'產生一個不可變的值錯誤,也認爲它是一個值類型。 –
請訪問,我認爲它會幫助你 - https://whatilearnedtoday.io/swift-tuples/ –
嗨,託尼。正如我以前可能提到過的那樣,沒有必要爲您的所有問題添加「請幫助」樣板。由於很明顯你需要幫助,因此可以將其解釋爲乞討的一種形式。志願者比較喜歡在這裏匆匆忙忙。 – halfer