原创 【49】kotlin 註解處理器

配置build.gradle apply plugin:"kotlin-kapt" 將生成的代碼添加到SourceSets sourceSets{ main.kotlin.srcDirs=+"build\\generated\

原创 【24】kotlin 內部類 匿名內部類

package com.yzdzy.kotlin.chapter4.innerclass class Outter { val a: Int = 0 //靜態內部類 class Inner { }

原创 【29】kotlin 尾遞歸優化 tailrec

啥是尾遞歸 遞歸的一種形式 調用子身後無其他操作 tailrec關鍵字提示編譯器尾遞歸優化 尾遞歸與迭代的關係  tailrec就是讓遞歸變成了迭代 如果一個函數中所有遞歸形式的調用都出現在函數的末尾,我們稱這個遞歸函數是尾遞歸的。當遞歸

原创 【23】kotlin 數據類 noarg和allopen插件的使用

 比較常用和簡單。 package com.yzdzy.kotlin.chapter4.dataclass data class Country(val id: Int, val name: String) fun main(arg

原创 git 批量解決。both modified:

git push後 雖然忽略文件已經添加。但是。 仍然無法。繼續提交 他們會衝突。。需要刪除之前的git的文件來解決這個問題 可以使用as的批量替換功能 替換出來命令行然後複製到下面的Terminal執行 如果你只想寧事息人。僅僅這次通

原创 【22】kotlin 屬性代理

案列 package com.yzdzy.kotlin.chapter4.delegates import kotlin.reflect.KProperty class Delegates { val hello by la

原创 【30】kotlin 閉包

概念 函數運行的環境 持有函數運行狀態 函數內部可以定義函數 函數內部可以定義類 代碼示例 package com.yzdzy.kotlin.chapter5.closure val string= "HelloWor

原创 【40】kotlin 協程 異步下載圖片3

改爲異步 新建async包  新建AsyncTask.kt package com.yzdzy.kotlin.chapter7.async import java.util.concurrent.Executors //線程池 pr

原创 【36】kotlin gradle 腳本

  文章並不全面。以後完善。!   首先得使用相對應得build.gradle版本 修改 gradle-wrapper.properties #Tue Jun 16 15:38:52 CST 2020 distributionUrl=h

原创 【43】kotlin 協程 原理簡單剖析

協程被編譯成狀態機 suspend函數即狀態轉移 正常的結果通過Resume返回 異常通過resumeWithException拋出      

原创 【27】kotlin 高階函數得基本概念

傳入或者返回函數的函數 函數引用::println 帶有Receiver 的引用 參數就是一個函數,返回值也是一個函數(pdfPrinter::println) f(g(x)) package com.yzdzy.kot

原创 【32】kotlin 科理化(Currying) 函數調用鏈

理解Currying 概念 簡單說就是多元函數變換成一元函數調用鏈 瞭解Curring的實現方法   實例1  package com.yzdzy.kotlin.chapter5.currying fun hello(x:

原创 【31】kotlin 函數複合

code package com.yzdzy.kotlin.chapter5.componse //求f(g(x)) // 如果m(x)=f(g(x)) //那麼 m就是fgx的複合 val add5 = { i: Int -> i

原创 【28】kotlin 高階函數forEach,map,flatmap,fold,reduce,filter,takeWhile,let,apply,with,use

  Map 通常我們對一個數組操作 package com.yzdzy.kotlin.chapter5 fun main(args: Array<String>) { val list= listOf(1,23,12,3,14

原创 【26】kotlin 密封類

子類可數(枚舉是實例可數) <v1.1子類必須定義爲密封類得內部類 v1.1子類只需要與密封類在同一個文件夾中 code package com.yzdzy.kotlin.SealedClass sealed class