快速上手 Kotlin 开发
张涛
“开源实验室”博主,资深 Android 开发工程师
23088 人已学习
新⼈⾸单¥59
课程目录
已完结/共 50 讲
第四章 :团队协作篇 (3讲)
快速上手 Kotlin 开发
登录|注册
留言
11
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 02 | Kotlin 最基础语法
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 讲给你的 Kotlin 快速上手课程
02 | Kotlin 最基础语法
03 | Kotlin 与 Java 完全兼容,就可以随便调用了吗?
04 | 新手使用 Kotlin 常碰到的问题
05 | 函数也能嵌套?这个特性要注意
06 | 用扩展函数简化代码调用
07 | DSL的基础 : Lambda闭包的语法
08 | 函数的参数是函数 : 高阶函数的注意事项
09 | 创建对象的关键 : Kotlin的构造函数
10 | 伴生对象 : Kotlin 特有的单例对象
11 | by关键字的使用
12 | Kotlin 独有的特殊类
13 | 解构 : 特殊的数据拆箱方式
14 | Kotlin 的循环语法
15 | Kotlin海量的集合操作符
16 | 作用域函数 : 你会爱上的自带函数
17 | 运算符与中缀 : 定义你的专有运算符
18 | 神奇的符号 : Kotlin 的反引号
19 | DSL 是什么,原来早就用过了
20 | 构建 DSL 的常用方式
21 | 定义自己的 DSL
22 | 理解 Kotlin 中的常量与只读
23 | Kotlin 的空安全是如何实现的
24 | Kotlin 内联 : noinline与crossinline
25 | Kotlin 的真泛型与实现方式
26 | 协程 : 提升性能的利器
27 | 在Kotlin 中使用协程
28 | 协程的启动参数
29 | 协程的语法糖
30 | suspend : 知其然知其所以然
31 | 协程的内部实现原理
32 | 动手设计Kotlin 协程的yield
33 | 协程通信:Channel的使用
34 | 小结 : 动手设计Channel版的EventBus
35 | NIO 与 BIO
36 | Kotlinx-io 的对象缓存池
37 | Google 推出 KTX 的目的
38 | KTX 的实现
39 | KTX 小结
40 | 在团队中使用 Kotlin
41 | 用 Kotlin 改写现有工程
42 | 滥用特性的后果:没人懂的代码
43 | Kotlin 服务端开发框架
44 | Http Servlet 创建 Kotlin 版 Web 应用
45 | Spring Boot 创建 RESTful Web 服务
46 | Kotlin 开发 Web 前端
47 | Kotlin Native 开发
48 | 创建 Kotlin Native 基础库
49 | 如何用 Kotlin 实现 Android MVP
50 | Android MVP 的 Kotlin 代码&结课测试
本节摘要

源代码及 PDF 课件地址:

https://gitee.com/geektime-geekbang/KotlinPrimer

登录 后留言

全部留言(11)

  • 最新
  • 精选
null
// 不可变的变量,注意:而不是常量 val immutableStr: String = "immutable" 老师,怎么理解:val 只是不可变的变量,而不是常量吖,谢谢

作者回复: 后面的章节中有讲解

2018-07-25
2
3
doubleSo3
AS里怎么运行kotlin main函数?建了个Java工程也配了kotlin gradle插件,运行就报找不到或无法加载主类

作者回复: 可以用idea CE版,也是免费的

2018-08-02
2
海边的卡夫卡Fu
老师我新建了一个项目跟你一样,run的时候出现java.lang.Exception: Test class should have exactly one public constructor 这个错,不知道咋办

作者回复: 代码怎么写的,是不是没有加构造方法。可以在https://github.com/kymjs/KotlinPrimer 这个项目中提issue把代码发上来

2018-07-13
2
狂奔的蚂蚁
在Android Studio中怎么运行Kotlin main函数呢 或者单独运行某个Kotlin类呢

作者回复: 推荐使用idea去运行kotlin类,不需要做额外的改动。其实android也是基于idea的社区版做的开发。 AS直接run kotlin类需要手动添加kotlin依赖包,或者如果本身是android工程且gradle已经有kotlin的依赖包了,只需要在左侧main函数所在的类上右键,点击run就可以了

2018-11-06
1
呆萌小苏州
张涛老师,您好。我在通过AS创建kt文件时,看到还有一个Kotlin Class的新建选项。创建出来也不是kt结尾的,您能说说两者的区别吗?

作者回复: 通常都是用的kotlin class的这个选项

2019-01-21
不识南风
涛哥能不能搞个博客更新下现在IDE的配置信息,这个课程最好还是边练边看啊,对照你的老博客里面的搭建idea kotlin的方式已经不对了吧?我的出现了好多不一样的地方,编译文件还报错: objc[25027]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/bin/java (0x1044734c0) and /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/jre/lib/libinstrument.dylib (0x1044ed4e0). One of the two will be used. Which one is undefined. Error: Could not find or load main class cucumber.api.cli.Main

作者回复: github的issue上有步骤图

2018-11-27
·榗榏·
不能使用android studio吗?

作者回复: 可以的

2018-10-22
Geek_dc4dad
你前面说了String和String?是不可赋值的两种类型,但后面又说name是可以赋值给name2,因为String?可向下兼容String,这岂不是矛盾了。

作者回复: 前一句话意思是String?不能赋值给String,但是反过来是可以的

2018-10-20
名子
不好意思,看到了,期待大神的更新,
2018-07-17
2
androidcat
我发现现在新兴的语言都有共通的地方,难道这就是所谓共通的思考?
2020-03-28
收起评论