原创 [VAL_OR_VAR_ON_FUN_PARAMETER] 'val' on function parameter is not allowed

從KotlinM5.1版本開始,官方已經移除了對函數參數聲明爲val或var的支持,詳見https://blog.jetbrains.com/kotlin/2013/02/kotlin-m5-1/對於這類錯誤,移除val或va

原创 Kotlin -- 接口(Interface)

Kotlin – 接口(Interface)   interface用於聲明一個接口類: interface Speakable{ fun say() }   然後通過:來實現接口,順帶說一下,在kotlin中,:是一個

原创 Kotlin基礎之enum類

Kotlin基礎<三>enum類 枚舉類   在Java中,你不需要爲你的enum類傳入參數列表,你可以在enum的內部去聲明字段和方法。但在Kotlin中,這有點不太一樣: enum class Size(val abbrev

原创 Kotlin基礎十一函數默認值

Kotlin基礎十一函數默認值 函數默認值   周所周知,Java語言並不支持參數使用默認值。有人說這是因爲“默認參數”和“方法重載”同時支持的話有二義性的問題,具體真正的原因我不得而知。但是對我個人來說,Java不支持這個特性

原创 Kotlin基礎十二拓展方法和屬性

Kotlin基礎十二 拓展方法和屬性   在Kotlin中,有一個很神奇的特性,就是可以爲已經存在的類添加方法和屬性。具體實現也很簡單: fun String.lastChar(): Char = this.get(this.l

原创 Kotlin基礎六之再談'if' 'when'

Kotlin基礎六之再談’if’ ‘when’   博主之前的文章提到過if是個具有返回值的表達式而不是一個statement。所以,在kotlin中,函數還可以這麼寫: fun eval(e: Any): Int =

原创 Kotlin基礎九'try', 'catch', 'finally'

Kotlin基礎九’try’, ‘catch’, ‘finally’ ‘try-catch-finally’   和Java一樣,你可以使用try-catch-finally去捕獲和處理異常,接下來的例子中你可以看到它是如何工作

原创 Gradle設置全局阿里雲maven鏡像

Gradle設置全局阿里雲鏡像 去到 $USER_HOME/.gradle目錄下,也就是C盤的C:\Users\{你的用戶名}\.gradle下,創建init.d目錄。 在init.d目錄下創建.init.gradle.kts腳本

原创 Kotlin - *local function*

Kotlin - local function   想必大家都贊同的一點是好代碼都具有複用率高的特點。在初學編程的時候,你的老師也一定告誡過你:“不要讓自己寫重複的代碼。”但在Java中,有時候並不能很好的踐行這一原則。   

原创 lua 5.3 C函數庫

我們從頭開始講起怎麼爲lua寫一個C語言函數庫。 首先去下載源代碼,我這裏選擇的是5.3.5版本的源代碼。然後去安裝好mingw64編譯工具。 我們將lua源代碼解壓,進入源代碼目錄,打開命令行,輸入 make mingw。 在

原创 kotlin基礎二類簡介

Kotlin基礎<二> 類和屬性   就從JavaBean開始講起吧。讓我們看看在Java當中,JavaBean Person class是如何書寫代碼的: public class Person { private

原创 kotlin基礎之when表達式

kotlin基礎<四> ‘when’ expression   kotlin中的when和Java中的switch有着相似的的功能,但when比switch強大太多太多。   你可以用when來處理枚舉類: enum clas

原创 kotlin基礎五之Smart casts特性

kotlin基礎五之Smart casts   在大多數情況下,kotlin不需要使用顯式轉換符,編譯器會自動跟蹤is檢查並在需要時自動插入安全的轉換: fun isString(s: Any) = when (

原创 Kotlin基礎十之集合

Kotlin基礎十之集合   在kotlin中創建集合是一件很簡單的事情: val set = setOf(1,23,4,5) val list = listOf(1,23,4,5) val map =

原创 Kotlin基礎八之關鍵字'in'

Kotlin基礎八之關鍵字’in’ 使用in檢查   你可以使用in來檢查一個值是否在一個區間內: fun isLetter(c: Char) = c in 'a'..'z' || c in 'A'..'Z' fun isNo