Kotlin從入門到跑路(一)
Kotlin從入門到跑路(一)
那個Kotlin語言不是越來越火了嗎,但是自己的Android專案中也暫時沒有用到Kotlin作為主流的開發語言,所以就想自己跟著文件來學習一下,看看這個東西有多麼的香。
Kotlin裡面對基本資料型別的定義沒有Java那麼具有強制性的宣告,只用一個val就行了,讓我想到了js裡面的var。可是當我想看一下這個資料到底是什麼型別時,就給我報了以下Exception:
kotlin.jvm.KotlinReflectionNotSupportedError: Kotlin reflection implementation is not found at runtime. Make sure you have kotlin-reflect
這個時候我就懵逼了,我就建立了一個新的工程,寫了一個這個fun就直接給我報錯了?這Kotlin還怎麼玩下去(來自萌新的疑惑)?
fun main(){
baseType()
}
fun baseType() {
val num1 = -1.45
printType(num1)
}
fun printType(param:Any){
println("$param is ${param::class.simpleName} type")
}
然後我們去看這個Exception,是說我們缺少了kotlin-reflect這個依賴。那麼這裡的kotlin-reflect到底是個什麼東西呢?
反射是指計算機程式在執行時(Run time)可以訪問、檢測和修改它本身狀態或行為的一種能力。Kotlin使函式和屬性成為語言中頭等公民,且以近似函式式或響應式方式內省屬性和函式(如執行時屬性名或型別;函式名或型別)
在Java平臺上,需要使用反射特性的執行時元件為獨立的JAR檔案(kotlin-reflect.jar),目的是降低不需要使用反射的應用包的大小。如果要使用反射,首先需要保證專案中已新增相應的.jar檔案。
那麼我們就去app Module下面的build.gradle檔案裡面新增一下kotlin-reflect依賴就可以了。程式碼如下:
dependencies {
//...
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
}
bingo,這樣我們的程式就能正常執行了(真難)。輸出:
不過話說回來,Kotlin的程式碼量是真的少,減少了java中那些沒必要的模板程式碼,大大提升了我們的開發效率。
相關文章
- babel從入門到跑路Babel
- Docker實戰-從入門到跑路Docker
- Shader從入門到跑路:自定義紋理輸入
- Vue入門到跑路---VuexVue
- Linux Shell 從入門到刪除根目錄跑路指南Linux
- Shader從入門到跑路:螢幕後處理效果
- 《Golang 從入門到跑路》之開發環境搭建Golang開發環境
- Shader從入門到跑路:實作螢幕扭曲效果
- Kotlin 入門(一)Kotlin
- MyBatis從入門到精通(一):MyBatis入門MyBatis
- Shader從入門到跑路:樸實無華的圖形學基礎
- Shader從入門到跑路:顏色自定義輸出、紋理取樣
- Linux 從入門到跑路第二十一講 -- 字串擷取Linux字串
- RabbitMQ 從入門到精通 (一)MQ
- ActiveMQ從入門到精通(一)MQ
- scala 從入門到入門+
- makefile從入門到入門
- Android MVP模式從入門到進門(一)AndroidMVP模式
- swoole——從入門到放棄(一)
- webpack 從入門到放棄(一)Web
- Prometheus從入門到精通:一、部署Prometheus
- 資料庫運維初入門-SQL Server入門到跑路002-初使用資料庫運維SQLServer
- Vue學習從入門到精通(一)Vue
- Docker 從入門到精通(一)基本操作Docker
- Docker從入門到精通(一)——初識Docker
- kafka從入門到關門Kafka
- 從 Java 到 Kotlin - 介紹 KotlinJavaKotlin
- 小程式從入門到實戰系列(一)
- Flask框架從入門到精通之初識(一)Flask框架
- MongoDB一篇從入門到實戰MongoDB
- Spark從入門到放棄——初始Spark(一)Spark
- Promise從入門到精通Promise
- LESS從入門到精通
- Git 從入門到精通Git
- SAP從入門到精通
- Python從入門到精通Python
- Thymeleaf從入門到精通
- Eclipse從入門到精通Eclipse