# KotlinLearn **Repository Path**: milkcoder/KotlinLearn ## Basic Information - **Project Name**: KotlinLearn - **Description**: 这是一个关于Kotlin一系列的学习教程、文章。学好Kotlin从这里开始,争取做到最全、最详细。让没有编程经验的朋友也能通过这个系列教程用Koltin语言来开发项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-04-19 - **Last Updated**: 2021-06-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # KotlinLearn 这是一个关于`Kotlin`教程的项目,学好`Koltin`从这里开始,当你看完这个系列的所有文章时,我相信你是绝对有收获的。

![](img/ic_kotlin.png)

## 写这个系列教程的初衷 本人作为一个`Android`开发者,在`Kotlin`语言正式出现在人们面前的时候,或多或少的接触到了这门语言,并 自学了一部分,当`Google`宣布`Kotlin`成为`Android`开发的标准语言时,才有打算用心的去学习这门语言,并能用于实际的开 发当中。在我学习的过程中,学的越深入越被`Kotlin`的简洁以及良好的阅读性深深的折服。但是在官方的文档中,写 的实列不是很详细,有些代码甚至看不懂其实现,基础性的东西几乎不存在。如果你没有一定的编程经验我相信你也是看不懂的。 但是请你不要放弃对这门语言的学习,我也是一点一点学习过来的,你在学习过程中遇到的坑,可能我也遇到过。我非常欢迎各位 一起学习、一起探索。让我们共同进步。 所以,我会根据自身的编程经验去写完整个`Kotlin`系列文章。整个教程由浅入深,即使你没有编程经验你也能看懂,教程中会 介绍`Koltin`的特性,以及其和`Java`的差异性。让更多的朋友爱上这门语言。 ## 开撸 话不多说,让我们忘记生活的烦恼、放下沉重的枷锁、沉浸在代码的世界中,放大音乐分贝,迈开脚步开始学习`Kotlin`大法吧。 ## 学习架构 我把这个教程命名为:从无到有系列,这个系列目前还没写完,故而下面的链接有一些是没有实际内容的,我会在后面持续的补齐,这里只是实现了整个教程的大纲。 整个项目根据学习的难以程度以及学习路线我分为了五个模块。我会按照的学习架构去排序。大家可以按照这个顺序去学习... #### 引言 - [1、 17 位谷歌 Android 开发专家是如何看待 Kotlin 的?](https://mp.weixin.qq.com/s/mWPJiefaNpK8EuoJYvhbhg) - [2、 用 Kotlin 开发 Android 项目是一种什么样的感受?(一)](https://www.jianshu.com/p/8a1fce6fa93a) - [3、 用 Kotlin 开发 Android 项目是一种什么样的感受?(二)](https://www.jianshu.com/p/b444aea1b038) #### 初级篇 > 对于入门篇的内容不多,主要是讲解了`Kotlin`中的基础语法,涵盖了`开发环境搭建`、`变量`、`常量`、`注释`、`数据类型`、`控制语句`,`操作符重载`、`空安全`、`基本函数`、`字符串处理`等 - [1、 开发环境搭建](https://juejin.im/post/5a37e2dbf265da43231b1504) - [2、 变量、常量、注释](https://juejin.im/post/5a39ef7af265da4311205967) - [3、 数据类型](https://juejin.im/post/5a36020b6fb9a0451543f5c8) - [4、 逻辑控制语句](https://juejin.im/post/5a369ccaf265da4325296247) - [5.1、 一元、二元操作符](https://juejin.im/post/5a4ce9865188257d6a7ef291) - [5.2、 比较、区间、未运算操作符(未完成)](#) - [6、 可空类型、空安全、类型转换](https://juejin.im/post/5a5b06f26fb9a01cb42c5206) - [7、 基础函数使用](https://juejin.im/post/5a6377425188257329148665) - [8、 字符串的常用操作总结](https://juejin.im/post/5b0ae06df265da0db64e3d63) #### 中级篇 > `Kotlin`是一门`面向对象`的开发语言。既然是面向对象,则在中级篇主要讲解其`三大特性`,以及`类成员`、`数据类`、`抽象类`、`接口类`、`内部类`、`继承类`等关于`Kotlin`面向对象的方方面面的讲解 - [1、 类的声明与使用](https://juejin.im/post/5a3297de6fb9a045055e295e) - [2、 属性与字段](https://juejin.im/post/5a6378266fb9a01ca10b00e4) - [3、 可见性修饰符](https://juejin.im/post/5a3293ec51882531926ebfe6) - [4、 继承类](https://juejin.im/post/5a6303fb51882573467d0fbc) - [5、 接口类、枚举类](https://juejin.im/post/5a34c551518825552b3f9c91) - [6、 数据类、密封类](https://juejin.im/post/5a37e4b45188253aea1f7219) - [7、 抽象类、内部类、嵌套类](https://juejin.im/post/5a48a0e8518825455f2fa070) - [8、 类型别名与属性名冲突解决](https://juejin.im/post/5c8cbd45f265da2dda6997d3) - [9、 解构声明(未完成)](#) - [10、伴生对象与对象声明(未完成)](#) #### 高级篇 > 高级篇的内容要多一些,只要是对`Kotlin`中的高级用法以及一些独特的东西。涵盖了`lambda表达式`、`高阶函数`、`集合`、`泛型`、`扩展`、`委托`、`异常处理`、`注解`、`反射`、`协程`等 - [1、 Lambda表达式](https://juejin.im/post/5ab9a5ccf265da239f076284) - [2、 高阶函数](https://juejin.im/post/5b198c675188257d7a49b3ec) - [3、 内联函数(未完成)](#) - [4.1、 集合的使用](https://juejin.im/post/5ab7a9c4f265da2377196038) - [4.2、 集合的常用操作符总结](https://juejin.im/post/5b1f7699f265da6e155d5965) - [5、 泛型(未完成)](#) - [6、 扩展(未完成)](#) - [7、异常处理(未完成)](#) - [8、 委托(未完成)](#) - [9、 注解(未完成)](#) - [10、 反射(未完成)](#) - [11、 协程(未完成)](https://github.com/Kotlin/kotlinx.coroutines) #### 进阶篇 > 进阶篇主要讲解的是在实际开发项目中的注意事项及一些高级操作,例如`Kotlin`中的`设计模式`、`编码规范`等 - [1、 约定俗成的编码规范(未完成)](#) - [2、 单列模式(未完成)](#) - [3、 工厂方法模式(未完成)](#) - [4、 抽象工厂模式(未完成)](#) - [5、 建造者模式(未完成)](#) - [6、 原型模式(未完成)](#) - [7、 适配器模式(未完成)](#) - [8、 桥接模式(未完成)](#) - [9、 组合模式(未完成)](#) - [10、 装饰模式(未完成)](#) - [11、 外观模式(未完成)](#) - [12、 享元模式(未完成)](#) - [13、 代理模式(未完成)](#) - [14、 职责链模式(未完成)](#) - [15、 命令模式(未完成)](#) - [16、 解释器模式(未完成)](#) - [17、 迭代器模式(未完成)](#) - [18、 中介者模式(未完成)](#) - [19、 备忘录模式(未完成)](#) - [20、 观察者模式(未完成)](#) - [21、 状态模式(未完成)](#) - [22、 策略模式(未完成)](#) - [23、 模版方法模式(未完成)](#) - [24、 访问者模式(未完成)](#) #### 实战篇 > 实战篇主要向大家介绍使用`Kotlin`开发`Android`项目时,介绍一些常用和`Kotlin`一起开发的库,以及对他们的使用及讲解。 比如说`Anko`、`Dagger2`、`RxKotlin`、或者用`Kotlin`编写的一些自定义组件等等... - [1、 使用Anko,让你告别xml布局](https://github.com/Jetictors/anko_kotlin_gank_client) - [2、 Kotlin中使用Dagger2的坑](https://github.com/Jetictors/kotlin-java-dagger2) - [3、 RxKotlin总结(未完成)](#) - [4、 使用Koltin编写一个竖行显示的TextView(未完成)](#) ## 其他 在这里我意思整合了一些关于`Kotlin`的学习资源,以供大家学习。 #### 官网 - [Kotlin官网文档](https://kotlinlang.org/docs/reference/) - [kotlin中文官网文档](http://www.kotlincn.net/docs/reference/) - [Kotlin在线IDE](https://try.kotlinlang.org/) - [Kotlin On Github](https://github.com/JetBrains/kotlin) #### 视频教程 - [Kotlin系列视频教程](https://github.com/enbandari/Kotlin-Tutorials) #### 书籍 关于书籍的分享,这里有着官网的中英文`PDF`文档,`Kotlin`极简教程、`Kotlin`程序开发入门经验等等书籍。这些我都分享在了我的`Kotlin`交流群里面。这里就不一一的分享了。 #### 更多 - [Kotlin相关经验文章](https://juejin.im/tag/Kotlin?utm_source=awesome_kotlin&utm_medium=jjzl) #### 开源项目 - [GankClient-Kotlin](https://github.com/githubwing/GankClient-Kotlin) —— 用`Koltin`编写的`Gank`客户端 - [PoiShuhui-Kotlin](https://github.com/wuapnjie/PoiShuhui-Kotlin) —— 用`Kotlin`写的简单漫画APP - [KotlinMvp](https://github.com/git-xuhao/KotlinMvp) —— 基于`Kotlin+MVP+Retrofit+RxJava+Glide`等架构实现短视频类APP练手项目,UI简约,详细注释 - [Eyepetizer-in-Kotlin](https://github.com/LRH1993/Eyepetizer-in-Kotlin) —— 用`Kotlin`撸一款`Eyepetizer` ## 最后 我相信在你学完整个系列教程之后,一定是可以用`Kotlin`进行实际项目开发的。近期我也会用`Koltin`语言去编写我自己的`Android`项目,也会用`Kotlin`去实现后端用于我`APP`中的接口提供。 如果你在学习过程中遇到任何的问题,不管你是写`后端`、`Android`以及`前端`的开发者都可以联系我,或者对于`Android`开发很有兴趣。都可以在项目`Issuse`我,或者加入在下的`Koltin`交流群一起学习、研究。

欢迎各位大佬进群共同研究、探索

QQ群号:497071402
![](img/ic_qq.png)