4
Dealing with absence of value – Roman Elizarov – Medium (medium.com)
IngramChen 積分 5 編輯於

kotlin 因為要和 java 互通所以選擇了捷徑 untagged unions

Swift 雖然要和 objective c 互通但仍然選擇了 taggged union

結果是?

Swift 超難用

T?? 這種兩層的處理起來很煩,不好 debug,compiler 和 IDE 都笨笨的也不會顯示清楚一點。試試處理 json 就知道了 (json 通常會有好幾層 Dictionary,每一層都會遇到一次 nil)

Kotlin 的做法實用多了,遇到 optional 你就很直覺解 ? 就好了,管他是幾層。 Kotlin 寫起來會有一種順暢的感覺,就是在這種小地方比較 務實。每個小角落都處理的很順,整體累積下來就是寫得爽,你不會有花時間跟它的 type 在對抗的感覺。