TOP
0
0
【簡體曬書區】 單本79折,5本7折,活動好評延長至5/31,趕緊把握這一波!
Kotlin核心編程(簡體書)
滿額折
Kotlin核心編程(簡體書)
Kotlin核心編程(簡體書)
Kotlin核心編程(簡體書)
Kotlin核心編程(簡體書)
Kotlin核心編程(簡體書)
Kotlin核心編程(簡體書)
Kotlin核心編程(簡體書)
Kotlin核心編程(簡體書)
Kotlin核心編程(簡體書)
Kotlin核心編程(簡體書)
Kotlin核心編程(簡體書)
Kotlin核心編程(簡體書)
Kotlin核心編程(簡體書)
Kotlin核心編程(簡體書)
Kotlin核心編程(簡體書)
Kotlin核心編程(簡體書)
Kotlin核心編程(簡體書)
Kotlin核心編程(簡體書)
Kotlin核心編程(簡體書)
Kotlin核心編程(簡體書)
Kotlin核心編程(簡體書)
Kotlin核心編程(簡體書)
Kotlin核心編程(簡體書)
Kotlin核心編程(簡體書)
Kotlin核心編程(簡體書)

Kotlin核心編程(簡體書)

人民幣定價:89 元
定  價:NT$ 534 元
優惠價:87465
領券後再享88折
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:13 點
相關商品
商品簡介
作者簡介
目次

商品簡介

本書不是一本簡單介紹Kotlin語法應用的圖書,而是一部專注于幫助讀者深入理解Kotlin的設計理念,指導讀者實現Kotlin高層次開發的實戰型著作。書中深入介紹了Kotlin的核心語言特性、設計模式、函數式編程、異步開發等內容,並以Android和Web兩個平臺為背景,演示了Kotlin的實戰應用。
全書共13章,分為4個部分:熱身篇―Kotlin基礎(第1~2章),簡單介紹了Kotlin設計哲學、生態及基礎語法,其中包括Kotlin與Scala、Java之間的關聯與對比,以及Kotlin的類型聲明的特殊性、val和var的使用、高階函數的使用、面向表達式編程的使用、字符串的定義與操作等內容;下水篇―Kotlin核心(第3~8章),深入介紹了面向對象、代數數據類型、模式匹配、類型系統、Lambda、集合、多態、擴展、元編程等Kotlin開發核心知識,這是本書的重點,其中涉及很多開發者特別關心的問題,比如多繼承問題、模式匹配問題、用代數數據類型抽象業務問題、泛型問題、反射問題等。
潛入篇―Kotlin探索(第9~11章),探索Kotlin在設計模式、函數式編程、異步和併發等編程領域的應用,其中包括對4大類設計模式、Typeclass實現、函數式通用結構設計、類型替代異常處理、共享資源控制、CQRS架構等重點內容的深入剖析;遨遊篇―Kotlin實戰(第12~13章),著重演示了Kotlin在Android和Web平臺的實戰案例,其中涉及架構方式、單向數據流模型、解耦視圖導航、響應式編程、Spring 5響應式框架和編程等內容。

作者簡介

水滴技術團隊,
核心成員來自*、*,公司旗下的大數據SaaS類產品服務了Booking、阿裡集團、小米集團、大疆創新、拍拍貸等幾十萬家企業,是微信的重點第三方合作產品。
推崇函數式編程,喜歡嘗試各種新的前後端技術。團隊在2015年就實現了業界領先的全異步開發架構,該架構是基於fp Scala及微服務化的分布式系統。同時,水滴技術團隊還是國內外少有的pure fp技術團隊,採用了如Play! Framework、Akka、Cats等新潮的技術,並對JVM生態的一些編程語言有著較豐富的實戰經驗,當前主要為Scala、Kotlin社區輸出博客和開源項目。

章建良(網名:Jilen),
水滴技術團隊核心成員,杭州極跑科技聯合創始人,曾就職於*。從2008年開始,活躍于Scala社區,在函數式編程和併發領域擁有極豐富的實戰經驗。
此外,他還是知名開源項目Quill的核心貢獻者,目前正在創造一個純函數式的異步數據庫驅動asyncdb。

目次

前言
熱身篇 Kotlin基礎
第1章 認識Kotlin2
1.1 Java的發展2
1.1.1 Java 8的探索3
1.1.2 Java未來的樣子3
1.2 Scala的百寶箱3
1.2.1 學術和工業的平衡4
1.2.2 複合但不複雜4
1.2.3 簡單卻不容易5
1.3 Kotlin―改良的Java5
1.3.1 Kotlin的實用主義6
1.3.2 更好的Java6
1.3.3 強大的生態8
1.4 本章小結8
第2章 基礎語法10
2.1 不一樣的類型聲明10
2.1.1 增強的類型推導11
2.1.2 聲明函數返回值類型11
2.2 val和var的使用規則13
2.2.1 val的含義:引用不可變13
2.2.2 優先使用val來避免副作用14
2.2.3 var的適用場景15
2.3 高階函數和Lambda16
2.3.1 抽象和高階函數17
2.3.2 實例:函數作為參數的需求17
2.3.3 函數的類型19
2.3.4 方法和成員引用21
2.3.5 匿名函數22
2.3.6 Lambda是語法糖22
2.3.7 函數、Lambda和閉包25
2.3.8 “柯裡化”風格、擴展函數26
2.4 面向表達式編程29
2.4.1 表達式比語句更安全30
2.4.2 Unit類型:讓函數調用皆為表達式32
2.4.3 複合表達式:更好的表達力33
2.4.4 枚舉類和when表達式34
2.4.5 for循環和範圍表達式37
2.4.6 中綴表達式39
2.5 字符串的定義和操作41
2.5.1 定義原生字符串41
2.5.2 字符串模板42
2.5.3 字符串判等43
2.6 本章小結43
下水篇 Kotlin核心
第3章 面向對象46
3.1 類和構造方法46
3.1.1 Kotlin中的類及接口46
3.1.2 更簡潔地構造類的對象49
3.1.3 主從構造方法55
3.2 不同的訪問控制原則56
3.2.1 限制修飾符57
3.2.2 可見性修飾符61
3.3 解決多繼承問題64
3.3.1 騾子的多繼承困惑64
3.3.2 接口實現多繼承65
3.3.3 內部類解決多繼承問題的方案67
3.3.4 使用委託代替多繼承69
3.4 真正的數據類71
3.4.1 煩瑣的JavaBean 71
3.4.2 用data class創建數據類 73
3.4.3 copy、componentN與解構75
3.4.4 數據類的約定與使用78
3.5 從static到object79
3.5.1 什麼是伴生對象79
3.5.2 天生的單例:object81
3.5.3 object表達式82
3.6 本章小結84
第4章 代數數據類型和模式匹配85
4.1 代數數據類型85
4.1.1 從代數到類型86
4.1.2 計數87
4.1.3 積類型87
4.1.4 和類型與密封類88
4.1.5 構造代數數據類型89
4.2 模式匹配90
4.2.1 何為模式91
4.2.2 常見的模式92
4.2.3 處理嵌套表達式93
4.2.4 通過Scala找點靈感95
4.2.5 用when力挽狂瀾97
4.3 增強 Kotlin 的模式匹配99
4.3.1 類型測試/類型轉換99
4.3.2 面向對象的分解100
4.3.3 訪問者設計模式102
4.3.4 總結104
4.4 用代數數據類型來抽象業務105
4.4.1 從一個實際需求入手105
4.4.2 糟糕的設計105
4.4.3 利用ADT106
4.4.4 更高層次的抽象108
4.5 本章總結110
第5章 類型系統112
5.1 引用:10億美元的錯誤112
5.1.1 做了哪些惡112
5.1.2 如何解決NPE問題114
5.2 可空類型115
5.2.1 Java 8中的Optional115
5.2.2 Kotlin的可空類型118
5.2.3 類型檢查121
5.2.4 類型智能轉換122
5.3 比Java更面向對象的設計124
5.3.1 Any:非空類型的根類型124
5.3.2 Any:所有類型的根類型127
5.3.3 Nothing與Nothing128
5.3.4 自動裝箱與拆箱128
5.3.5 “新”的數組類型129
5.4 泛型:讓類型更加安全130
5.4.1 泛型:類型安全的利刃130
5.4.2 如何在Kotlin中使用泛型131
5.4.3 類型約束:設定類型上界133
5.5 泛型的背後:類型擦除135
5.5.1 Java為什麼無法聲明一個泛型數組135
5.5.2 向後兼容的罪136
5.5.3 類型擦除的矛盾138
5.5.4 使用內聯函數獲取泛型139
5.6 打破泛型不變140
5.6.1 為什麼List不能賦值給List140
5.6.2 一個支持協變的List141
5.6.3 一個支持逆變的Comparator143
5.6.4 協變和逆變144
5.7 本章小結147
第6章 Lambda和集合148
6.1 Lambda簡化表達148
6.1.1 調用Java的函數式接口148
6.1.2 帶接收者的Lambda149
6.1.3 with和apply150
6.2 集合的高階函數API151
6.2.1 以簡馭繁:map151
6.2.2 對集合進行篩選:filter、count152
6.2.3 別樣的求和方式:sumBy、sum、fold、reduce154
6.2.4 根據學生性別進行分組:groupBy156
6.2.5 扁平化―處理嵌套集合:flatMap、flatten157
6.3 集合庫的設計159
6.3.1 集合的繼承關係159
6.3.2 可變集合與只讀集合160
6.4 惰性集合163
6.4.1 通過序列提高效率163
6.4.2 序列的操作方式164
6.4.3 序列可以是無限的166
6.4.4 序列與Java 8 Stream對比166
6.5 內聯函數167
6.5.1 優化Lambda開銷168
6.5.2 內聯函數具體語法169
6.5.3 noinline:避免參數被內聯171
6.5.4 非局部返回172
6.5.5 crossinline174
6.5.6 具體化參數類型174
6.6 本章小結175
第7章 多態和擴展176
7.1 多態的不同方式176
7.1.1 子類型多態176
7.1.2 參數多態177
7.1.3 對第三方類進行擴展178
7.1.4 特設多態與運算符重載178
7.2 擴展:為別的類添加方法、屬性179
7.2.1 擴展與開放封閉原則179
7.2.2 使用擴展函數、屬性180
7.2.3 擴展的特殊情況183
7.2.4 標準庫中的擴展函數:run、let、also、takeIf186
7.3 Android中的擴展應用188
7.3.1 優化Snackbar188
7.3.2 用擴展函數封裝Utils189
7.3.3 解決煩人的findViewById190
7.4 擴展不是萬能的193
7.4.1 調度方式對擴展函數的影響193
7.4.2 被濫用的擴展函數196
7.5 本章小結197
第8章 元編程198
8.1 程序和數據199
8.1.1 什麼是元編程199
8.1.2 常見的元編程技術201
8.2 Kotlin的反射202
8.2.1 Kotlin和Java反射202
8.2.2 Kotlin的KClass205
8.2.3 Kotlin的KCallable206
8.2.4 獲取參數信息208
8.3 Kotlin的注解210
8.3.1 無處不在的注解211
8.3.2 精確控制注解的位置212
8.3.3 獲取注解信息213
8.4 本章小結216
潛入篇 Kotlin探索
第9章 設計模式218
9.1 創建型模式218
9.1.1 伴生對象增強工廠模式219
9.1.2 內聯函數簡化抽象工廠222
9.1.3 用具名可選參數而不是構建者模式224
9.2 行為型模式228
9.2.1 Kotlin中的觀察者模式228
9.2.2 高階函數簡化策略模式、模板方法模式231
9.2.3 運算符重載和迭代器模式235
9.2.4 用偏函數實現責任鏈模式237
9.2.5 ADT實現狀態模式241
9.3 結構型模式244
9.3.1 裝飾者模式:用類委託減少樣板代碼245
9.3.2 通過擴展代替裝飾者246
9.4 本章小結248
第10章 函數式編程249
10.1 函數式編程的特徵249
10.1.1 函數式語言之爭250
10.1.2 純函數與引用透明性251
10.1.3 代換模型與惰性求值253
10.2 實現Typeclass254
10.2.1 高階類型:用類型構造新類型255
10.2.2 高階類型和Typeclass256
10.2.3 用擴展方法實現Typeclass257
10.2.4 Typeclass設計常見功能258
10.3 函數式通用結構設計262
10.3.1 Monoid262
10.3.2 Monad264
10.3.3 Monad組合副作用269
10.4 類型代替異常處理錯誤271
10.4.1 Option與OptionT272
10.4.2 Either與EitherT276
10.5 本章小結279
第11章 異步和併發281
11.1 同步到異步281
11.1.1 同步與阻塞的代價281
11.1.2 利用異步非阻塞來提高效率284
11.1.3 回調地獄284
11.2 Kotlin的Coroutine286
11.2.1 多線程一定優於單線程嗎287
11.2.2 協程:一個更輕量級的“線程”287
11.2.3 合理地使用協程288
11.

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 465
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區