IngramChen
積分 4
python 的 list comprehension 和 spread operator. 這些功能引入都是因為 flutter 的 UI 是直接用 dart 來寫
Dart 因為只有 google 在用, 而目前主力是 flutter, 所以整個語言都被魔改成 flutter 專用. 像是 swift 之於 iOS 那樣.
一個語言如果背後是給一個大公司專門開發, 通常都有這種毛病. 現在回想起來, 如果 Java 是被賣到 Google, 有可能會被魔改成 Android 專門的奇特語言. Oracle 雖然無恥但某方面 Java 還是有維持原本的風格
我看了第一節,就看到它提到的兩個 edge case,下面兩個 compile 不會過:
//// case 1
val name: String? = "Marton"
val surname: String = "Braun"
val fullName: String?
get() = name?.let { "$it $surname" }
fun main() {
if (fullName != null) {
println(fullName.length)
}
}
//// case 2
var list = mutableListOf<Int>()
fun main() {
list += 1
}
還不錯的書,繼續讀…
看看 dagger:
@Binds
@IntoMap
@ViewModelKey(StartPageViewModel::class)
abstract fun bindStartPageViewModel(
startPageViewModel: StartPageViewModel): ViewModel
這種 annotation 海我覺得還是算了...