2017-05-16 39 views
1

documentation爲什麼Array/Dict/Optional在Swift中不是複合類型?

除了用戶定義的命名的類型,迅標準庫定義許多常用的命名的類型,包括代表數組,字典,和可選的值。

[...]

有兩種複合類型:函數類型和元組類型。

嗯......看起來很清楚,字典,數組和選項都是命名類型而不是複合類型。

我不明白他們爲什麼不是複合類型,而元組和函數類型是。因爲從我的角度來看所有這些類型都是其他類型的主機

所以兩個解決方案:

  • 有一些關於混合類型我不明白
  • 有一些關於數組和函數類型,我不明白

回答

0

的文件中明確規定該化合物類型是那些沒有名稱的化合物類型。元組類型和功能類型沒有指定這些類型的函數簽名或變量時,即名你不說let a : Tuplelet f : function,相反,你必須使用自己特定的記號指定類型 - let a: (Int, Int)let f: (Int, Int) -> Int

複合類型與「其他類型的主機」無關。 「

+0

」複合類型可能包含命名類型和其他複合類型。「而且,你對名稱的區分很模糊 - 函數和元組確實有名字,它們起着類型化的作用。我認爲這不足以回答這個問題。 – sdasdadas

+0

@sdasdadas每種類型都有1)它的定義和2)可選的名稱。一個元組沒有名字,你必須使用它的定義和相同的函數。類型別名不同於類型名稱的想法。 – Ankur

+1

對,這是很好的區別。但是OP正在問_why_這是事實。 – sdasdadas

相關問題