Kotlin極簡教程( 簡體 字) | |
作者:陳光劍 | 類別:1. -> 程式設計 -> 手機程式 -> Kotlin |
出版社:機械工業出版社 | 3dWoo書號: 47642 詢問書籍請說出此書號! 有庫存 NT售價: 395 元 |
出版日:9/12/2017 | |
頁數:494 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787111579939 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
序 言
前 言 第一部分 Kotlin語言基礎 第1章 Kotlin簡介 2 1.1 Kotlin簡史 2 1.1.1 Kotlin概述 3 1.1.2 Kotlin元年:2016 3 1.2 快速學習工具 4 1.2.1 云端IDE 4 1.2.2 本地命令行環境搭建 5 1.2.3 使用IntelliJ IDEA 9 1.2.4 使用Eclipse 13 1.2.5 使用Gradle構建Kotlin項目 17 1.2.6 編程語言學習小結 18 1.3 本章小結 20 第2章 快速開始HelloWorld 21 2.1 命令行版HelloWorld 21 2.2 應用程序版HelloWorld 21 2.3 Web RESTful HelloWorld 24 2.4 Android版的HelloWorld 34 2.5 JavaScript版HelloWorld 39 2.6 本章小結 49 第3章 Kotlin語言基礎 50 3.1 包 50 3.2 聲明變量和值 56 3.3 變量類型推斷 57 3.3.1 省去變量類型 57 3.3.2 使用is運算符進行類型檢測 59 3.4 字符串與其模板表達式 59 3.5 流程控制語句 60 3.5.1 if表達式 60 3.5.2 when表達式 62 3.5.3 for循環 64 3.5.4 while循環 64 3.5.5 break和continue 65 3.5.6 return 66 3.5.7 標簽 69 3.5.8 throw表達式 71 3.6 代碼注釋 72 3.7 語法與標識符 73 3.7.1 修飾符 73 3.7.2 關鍵字(保留字) 75 3.7.3 操作符和操作符的重載 81 3.7.4 操作符優先級 82 3.7.5 一元操作符 83 3.7.6 二元操作符 85 3.8 擴展函數和擴展屬性 90 3.8.1 擴展函數 90 3.8.2 擴展屬性 93 3.9 空指針安全 93 3.10 標準庫API簡介 96 3.11 本章小結 97 第4章 基本數據類型與類型系統 98 4.1 什么是類型 98 4.2 編譯時類型與運行時類型 100 4.2.1 弱類型與強類型 100 4.2.2 靜態類型與動態類型 101 4.2.3 顯式類型與隱式類型 101 4.3 根類型Any 101 4.4 基本類型 102 4.4.1 數字類型 104 4.4.2 字符類型與轉義符 109 4.4.3 布爾類型 111 4.4.4 字符串類型 112 4.4.5 數組類型 117 4.5 可空類型 120 4.5.1 Kotlin中的null 120 4.5.2 可空類型String?與安全調用?. 122 4.5.3 可空性的實現原理 124 4.5.4 可空類型層次體系 126 4.6 kotlin.Unit類型 127 4.7 kotlin.Nothing類型 128 4.8 類型檢測與類型轉換 131 4.8.1 is與!is運算符 131 4.8.2 as運算符 133 4.9 本章小結 134 第二部分 編程進階 第5章 集合類 136 5.1 集合類的基本概念 136 5.1.1 集合類是一種數據結構 137 5.1.2 集合類是ADT 137 5.1.3 連續存儲和離散存儲 138 5.2 Kotlin集合類簡介 138 5.3 List 139 5.3.1 創建不可變List 140 5.3.2 創建可變集合MutableList 142 5.3.3 遍歷List元素 143 5.3.4 List元素操作函數 146 5.3.5 List集合類的基本運算函數 151 5.3.6 過濾操作函數 159 5.3.7 映射操作函數 166 5.3.8 分組操作函數 169 5.3.9 排序操作符 170 5.3.10 生產操作符 171 5.4 Set 174 5.4.1 空集 174 5.4.2 創建Set 176 5.4.3 使用Java中的Set類 177 5.4.4 Set元素的加減操作plus minus 179 5.5 Map 179 5.5.1 創建Map 180 5.5.2 訪問Map的元素 184 5.5.3 Map操作符函數 186 5.6 本章小結 192 第6章 泛型 193 6.1 泛型簡介 193 6.1.1 泛型與多態 193 6.1.2 為何引進泛型 194 6.1.3 Java與Kotlin中的泛型 195 6.2 型變 197 6.2.1 Java的類型通配符 197 6.2.2 泛型和數組的型變 201 6.3 Kotlin中的泛型 205 6.3.1 out T與in T 205 6.3.2 聲明處型變 206 6.3.3 類型投影 206 6.4 泛型類 207 6.5 泛型函數 208 6.6 本章小結 208 第7章 面向對象編程 209 7.1 面向對象編程思想 209 7.1.1 一切皆是映射 209 7.1.2 二進制01與易經陰陽 211 7.1.3 從面向過程到面向對象 212 7.2 類與構造函數 215 7.2.1 聲明類 216 7.2.2 構造函數 216 7.2.3 類的屬性 218 7.2.4 函數(方法) 219 7.3 抽象類 219 7.3.1 抽象類的定義 219 7.3.2 抽象函數 220 7.3.3 抽象屬性和抽象類 221 7.4 接口 223 7.4.1 接口定義 223 7.4.2 實現接口 224 7.4.3 覆蓋沖突 225 7.4.4 接口中的屬性 225 7.5 抽象類和接口的差異 226 7.6 繼承 227 7.6.1 open類 227 7.6.2 多重繼承 228 7.7 枚舉類 230 7.7.1 枚舉類基本用法 231 7.7.2 初始化枚舉值 231 7.7.3 使用枚舉常量 232 7.8 注解類 233 7.8.1 聲明注解 233 7.8.2 使用注解 234 7.9 單例模式與伴生對象 234 7.9.1 單例模式 234 7.9.2 object對象 235 7.9.3 嵌套object對象 236 7.9.4 匿名object 238 7.9.5 伴生對象 239 7.10 密封類 242 7.11 數據類 243 7.11.1 構造函數中的val/var 243 7.11.2 領域實體類 245 7.11.3 數據類的概念 245 7.11.4 數據類的限制 246 7.11.5 數據類的解構 248 7.11.6 標準數據類Pair和Triple 248 7.12 嵌套類 249 7.12.1 嵌套類:類中的類 249 7.12.2 內部類 250 7.12.3 匿名內部類 250 7.13 委托 252 7.13.1 代理模式 252 7.13.2 類的委托 253 7.13.3 委托屬性 255 7.14 本章小結 260 第8章 函數式編程 261 8.1 函數式編程概述 261 8.1.1 函數式編程與面向對象編程 262 8.1.2 函數式編程基本特性 265 8.1.3 函數式編程核心思想 266 8.2 在Kotlin中使用函數式編程 284 8.2.1 Kotlin中的函數 284 8.2.2 擴展函數 286 8.2.3 中綴函數 286 8.2.4 函數參數 287 8.2.5 函數返回類型 289 8.2.6 單表達式函數 289 8.2.7 函數作用域 289 8.2.8 泛型函數 290 8.2.9 高階函數 290 8.2.10 匿名函數 291 8.2.11 Lambda表達式 291 8.2.12 it:單個參數的隱式名稱 292 8.2.13 閉包 292 8.2.14 帶接收者的函數字面值 293 8.2.15 具體化的類型參數 293 8.2.16 尾遞歸tailrec 294 8.3 本章小結 295 第9章 輕量級線程:協程 296 9.1 協程的基本概念 296 9.2 協程的基本操作 297 9.2.1 搭建項目 297 9.2.2 簡單協程示例 298 9.2.3 使用launch函數啟動協程 299 9.2.4 CommonPool對象 299 9.2.5 掛起函數 301 9.2.6 runBlocking函數 302 9.2.7 等待一個協程任務執行完畢 303 9.2.8 取消協程 306 9.2.9 協程取消失效 307 9.2.10 計算代碼協程的取消方式 308 9.2.11 在f?inally中的協程代碼 310 9.2.12 協程中不被取消的代碼塊 312 9.2.13 設置協程超時時間 313 9.3 掛起函數 314 9.3.1 按默認順序執行 314 9.3.2 使用異步并發執行 315 9.4 協程上下文與調度器 316 9.4.1 調度和線程 316 9.4.2 父子協程 318 9.5 通道與管道 319 9.5.1 通道vs阻塞隊列 319 9.5.2 關閉通道和迭代遍歷元素 320 9.5.3 生產者-消費者模式 321 9.5.4 使用管道生產無限序列 322 9.5.5 管道與無窮質數序列 323 9.5.6 通道緩沖區 324 9.5.7 構建無窮惰性序列 324 9.6 協程與線程 325 9.6.1 輕量級的協程 325 9.6.2 協程vs守護線程 326 9.6.3 區別 327 9.6.4 協程的好處 328 9.6.5 Kotlin協程的內部機制 328 9.7 本章小結 329 第10章 Kotlin與Java互操作 330 10.1 在Kotlin中調用Java 330 10.1.1 調用Okhttp庫示例 331 10.1.2 使用Java的集合類 332 10.1.3 調用Java中的Getter和Setter 333 10.1.4 調用Java中返回void的方法 334 10.1.5 調用來自Java中的null 335 10.1.6 使用Java的泛型 336 10.1.7 數組的互操作 337 10.1.8 可變參數的互操作 337 10.1.9 檢查Java中的異常 337 10.1.10 調用Java的Object方法 338 10.1.11 訪問Java靜態成員 340 10.1.12 使用Java的反射 340 10.1.13 SAM轉換 341 10.2 在Java中調用Kotlin 342 10.2.1 訪問Kotlin屬性 342 10.2.2 調用Kotlin的包級函數 344 10.2.3 調用Kotlin中的實例字段 347 10.2.4 調用Kotlin中的靜態字段 348 10.2.5 調用Kotlin中的靜態方法 349 10.2.6 Kotlin與Java的可見性 350 10.2.7 生成默認參數函數的重載 352 10.2.8 顯式聲明Kotlin中的異常 353 10.2.9 關鍵字沖突的互操作 355 10.2.10 Nothing類型 355 10.3 類型映射 356 10.4 Kotlin與Java的簡單實例對比 357 10.5 本章小結 364 第三部分 綜合實戰 第11章 使用Kotlin集成Spring Boot開發Web服務端 366 11.1 Spring Boot簡介 366 11.2 系統架構技術棧 367 11.3 準備工作 367 11.3.1 創建工程 367 11.3.2 Gradle配置文件說明 369 11.4 數據庫層開發 370 11.4.1 Endpoint監控接口 373 11.4.2 實體類 375 11.4.3 數據訪問層代碼 377 11.5 后端邏輯開發 379 11.5.1 控制器邏輯層 379 11.5.2 啟動初始化CommandLine-Runner 380 11.5.3 應用啟動類 380 11.5.4 Model數據綁定 382 11.5.5 模板引擎視圖頁面 383 11.5.6 運行測試 383 11.6 前端后端集成 384 11.6.1 引入前端組件 384 11.6.2 實現寫文章模塊 386 11.6.3 加上導航欄 388 11.6.4 抽取公共模板文件 389 11.6.5 寫文章的控制器層接口 390 11.6.6 前端Ajax請求 390 11.6.7 文章詳情頁 391 11.6.8 添加Markdown支持 393 11.6.9 文章列表分頁搜索 395 11.7 Spring 5.0對Kotlin的支持 397 11.8 本章小結 399 第12章 使用Kotlin集成Gradle開發 400 12.1 使用Gradle構建Kotlin工程 400 12.2 使用Kotlin編寫Gradle構建配置文件 405 12.3 本章小結 407 第13章 使用Kotlin和Anko的Android開發 408 13.1 什么是Anko 408 13.2 快速入門實例 409 13.2.1 功能介紹 410 13.2.2 使用Android Studio新建項目 411 13.2.3 設計UI界面主題顏色 415 13.2.4 核心依賴配置 417 13.2.5 代碼編寫 421 13.2.6 運行測試 435 13.3 本章小結 437 第14章 使用 Kotlin DSL 438 14.1 什么是DSL 439 14.2 Kotlin的DSL特性支持 441 14.3 使用kotlinx.html DSL寫前端代碼 442 14.4 實現一個極簡的HTTP DSL 447 14.5 本章小結 454 第15章 Kotlin 文件IO操作與多線程 455 15.1 Kotlin IO基本操作 455 15.1.1 終端IO操作 455 15.1.2 讀文件 456 15.1.3 寫文件 457 15.1.4 遍歷文件樹 458 15.1.5 網絡IO操作 459 15.1.6 kotlin.io標準庫 460 15.1.7 執行Shell命令行 461 15.2 正則表達式 463 15.2.1 構造Regex表達式 463 15.2.2 Regex類中的函數 463 15.2.3 使用Java正則表達式類 465 15.3 Kotlin的多線程 466 15.3.1 創建線程 466 15.3.2 同步方法和塊 467 15.3.3 可變字段 468 15.4 本章小結 469 第16章 使用 Kotlin Native 470 16.1 Kotlin Native簡介 470 16.2 快速開始Hello World 471 16.3 Kotlin Native與C語言互操作 477 16.4 Kotlin Native編譯器konan簡介 486 16.5 本章小結 494 內容簡介本書從Kotlin的HelloWorld開始,生動講解Kotlin的基礎知識和實戰案例,分為兩大部分:“基礎知識”部分包括語言基礎、基本數據類型與類型變量、集合類、泛型、面向對象編程、函數式編程、協程等;“實戰”部分包括Kotlin與Java互操作、使用Kotlin集成SpringBoot開發WEB服務端、使用Kotlin集成Gradle開發、使用Kotlin和Anko的Android開發、使用KotlinDSL、Kotlin文件IO操作與多線程、使用KotlinNative。本書包含了大量精選示例代碼和應用案例,為初學者提供了實用指南,也幫助熟練的Java開發者快速切換到Kotlin。
|