开始阅读Kotlin官方文档。先上文档目录。有些内容还未阅读,有些目录标目翻译还需琢磨琢磨。后续再将具体内容的链接逐步加上。

文档链接:https://kotlinlang.org/docs/kotlin-docs.pdf

网页链接:https://kotlinlang.org/docs/reference/

1. 入门
1.1.基本语法
1.1.1. 定义包
1.1.2. 定义函数
1.1.3. 定义局部变量
1.1.4. 使用字符串模板
1.1.5. 使用条件表达式
1.1.6. 使用nullable值检测空(null)值
1.1.7. 使用类型检查和自动转换
1.1.8. 使用for循环
1.1.9. 使用while循环
1.1.10. 使用when表达式
1.1.11. 使用range(范围)
1.1.12. 使用集合
1.2. 习惯术语
1.2.1. 创建DTO(POJO / POCO)
1.2.2. 函数参数的默认值
1.2.3. 过滤列表
1.2.4. 字符串插值
1.2.5. 实例检查
1.2.6. 遍历映射表/列表对
1.2.7. 使用range(范围)
1.2.8. 只读列表
1.2.9. 只读映射表
1.2.10. 访问映射表
1.2.11. Lazy属性
1.2.12. 扩展函数
1.2.13. 创建单例模式
1.2.14. If语句非空简写
1.2.15. If语句非空和else简写
1.2.16. If语句空,执行语句
1.2.17. If语句非空,执行语句
1.2.18. When语句返回值
1.2.19. ‘try/catch’表达式
1.2.20. ‘if’表达式
1.2.21. 返回Unit类型的方法生成器风格用法
1.2.22. 单一表达式函数
1.2.23. 在对象实例中调用多方法(‘with’)
1.2.24. Java7的try与资源
1.3. 编码约定
1.3.1. 命名风格
1.3.2. 冒号
1.3.3. Lambda表达式
1.3.4. Unit

2. 基本概念
2.1. 基本类型
2.1.1. 数字
2.1.1.1. 文字常数
2.1.1.2. 表示法
2.1.1.3. 显式转换
2.1.1.4. 操作
2.1.2. 字符
2.1.3. 布尔值
2.1.4. 数组
2.1.5. 串
2.1.5.1. 串文字
2.1.5.2. 串模板
2.2. 包
2.2.1. 导入
2.2.2. 顶层声明的可见范围
2.3. 控制流
2.3.1. If表达式
2.3.2. When表达式
2.3.3. For循环
2.3.4. While循环
2.3.5. 中断和继续循环
2.4. 返回和跳转
2.4.1. 中断和继续标签
2.4.2. 在标签处返回
3. 类与对象
3.1. 类与继承
3.1.1. 类
3.1.1.1. 构造器
3.1.1.2. 创建类实例
3.1.1.3. 类成员
3.1.2. 继承
3.1.2.1. 重写成员
3.1.2.2. 重写规则
3.1.3. 抽象类
3.1.4. 友元(伴侣)对象
3.1.5. 类封闭
3.2. 属性和域
3.2.1. 声明属性
3.2.2. 获取器和设置器
3.2.2.1. 支持(反向)域
3.2.2.2. 支持(反向)属性
3.2.3. 编译常数
3.2.4. 延后初始化属性
3.2.5. 重写属性
3.2.6. 委托属性
3.3. 接口
3.3.1. 实现接口
3.3.2. 接口属性
3.3.3. 解决重写冲突
3.4. 可见性修饰符
3.4.1. 包
3.4.2. 类和接口
3.4.2.1. 构造函数
3.4.2.2. 局部声明
3.4.3. 模块
3.5. 扩展
3.5.1. 扩展函数
3.5.2. 扩展的静态解决方案
3.5.3. 可空接收器
3.5.4. 扩展属性
3.5.5. 友元(伴侣)对象扩展
3.5.6. 扩展范围
3.5.7. 推动
3.6. 数据类
3.6.1. 复制
3.6.2. 数据类和变形声明
3.6.3. 标准数据类
3.7. 泛型
3.7.1. 变异
3.7.1.1. 声明位置变异
3.7.2. 类型推测
3.7.2.1. 使用位置变异:类型推测
3.7.2.2. 主角推测
3.8. 泛型函数
3.9. 泛型约束条件
3.9.1. 上界
3.10. 嵌套类
3.10.1. 内部类
3.11. 枚举类
3.11.1. 初始化
3.11.2. 匿名类
3.11.3. 与枚举常数使用
3.12. 对象表达式和声明
3.12.1. 对象表达式
3.12.2. 对象声明
3.12.2.1. 友元(伴侣)对象
3.12.2.2. 对象表达式与声明之间的语义不同之处
3.13. 委托
3.13.1. 类委托
3.14. 委托属性
3.14.1. 属性委托要求
3.14.2. 标准委托
3.14.2.1. Lazy(懒方法)
3.14.2.2. Observable(可观测方法)
3.14.3. 在映射表中属性分类
4. 函数和Lambda表达式
4.1. 函数
4.1.1. 函数声明
4.1.2. 函数用法
4.1.2.1. 中缀(infix)注释
4.1.2.2. 参数
4.1.2.3. 默认自变量
4.1.2.4. 命名自变量
4.1.2.5. 返回Unit类型函数
4.1.2.6. 单表达式函数
4.1.2.7. 显式返回类型
4.1.2.8. 可变的自变量数量
4.1.3. 函数范围
4.1.3.1. 局部函数
4.1.3.2. 成员函数
4.1.4. 泛型函数
4.1.5. 内联函数
4.1.6. 扩展函数
4.1.7. 高阶函数和Lambda表达式
4.1.8. 尾递归函数
4.2. 高阶函数和Lambda表达式
4.2.1. 高阶函数
4.2.2. 内联函数
4.2.3. 函数文本和函数表达式
4.2.3.1. 函数类型
4.2.3.2. 函数文本语法
4.2.3.3. 函数表达式
4.2.3.4. 闭包
4.2.3.5. 扩展函数表达式
4.3. 内联函数
4.3.1. 非内联
4.3.2. 非局部返回
4.3.3. 具体化类型参数
5. 其它
5.1. 变形声明
5.1.1. 例子:从函数中返回两个值
5.1.2. 例子:变形声明和映射表
5.2. 范围
5.2.1. 怎样工作
5.2.2. 实用函数
5.2.2.1. rangeTo()
5.2.2.2. downTo()
5.2.2.3. reversed()
5.2.2.4. step()
5.3. 类型检查和转换
5.3.1. is和!is操作符
5.3.2. 智能(聪明)转换
5.3.3. “非安全”转换操作符
5.3.4. “安全”(可空)转换操作符
5.4. 表达式
5.4.1. 限制
5.5. 等式
5.5.1. 引用等式
5.5.2. 结构等式
5.6. 操作符重载
5.6.1. 约定
5.6.1.1. 一元操作
5.6.1.2. 二元操作
5.6.2. 中缀调用的函数命名
5.7. 空安全
5.7.1. 可空类型和非空类型
5.7.2. 检查条件中的空
5.7.3. 安全调用
5.7.4. Elvis操作符
5.7.5. !!操作符
5.7.6. 安全转换
5.8. 异常
5.8.1. 异常类
5.8.1.1. Try是表达式
5.8.2. 检查异常
5.8.3. Java互操作性
5.9. 注释
5.9.1. 注释声明
5.9.1.1. 用法
5.9.1.2. 构造器(函数)
5.9.1.3. Lambda表达式
5.9.2. 注释使用位置目标
5.9.3. Java注释
5.10. 反射
5.10.1. 类引用(参考)
5.10.2. 函数引用(参考)
5.10.2.1. 例子:函数构成
5.10.3. 属性引用(参考)
5.10.3.1. 与Java反射互操作性
5.10.4. 构造器引用(参考)
5.11. 类型安全生成器
5.11.1. 类型安全生成器例子
5.11.2. 怎样工作的
5.11.3. com.example.html包的完整定义
5.12. 动态类型
6. 引用(参考)
7. 互操作
7.1. 与java互操作
7.1.1. 从kotlin中调用Java代码
7.1.1.1. 获取器和设置器
7.1.1.2. 返回void 的方法
7.1.1.3. 对Kotlin的关键字被作为Java的标识符的转码
7.1.1.4. 空安全和平台类型
7.1.1.5. 映射表类型
7.1.1.6. Kotlin的Java泛型
7.1.1.7. Java数组
7.1.1.8. 操作符
7.1.1.9. 异常检查
7.1.1.10. 对象方法
7.1.1.11. 从java类继承
7.1.1.12. 访问静态成员
7.1.1.13. Java反射
7.1.1.14. SAM转换
7.1.2. 从Java中调用Kotlin代码
7.1.2.1. 属性
7.1.2.2. 包层次的函数
7.1.2.3. 域
7.1.2.4. 静态方法和域
7.1.2.5. 用@JName处理签名冲突
7.1.2.6. 重载生成器
7.1.2.7. 异常检查
7.1.2.8. 空安全
8. 工具
8.1. 文档化Kotlin代码
8.1.1. 生成文档
8.1.2. KDoc语法
8.1.3. 文档块标签
8.1.3.1. @param <name>
8.1.3.2. @return
8.1.3.3. @constructor
8.1.3.4. @property <name>
8.1.3.5. @throws <class>, @exception <class>
8.1.3.6. @sample <identifier>
8.1.3.7. @see <identifier>
8.1.3.8. @author
8.1.3.9. @since
8.1.3.10. @suppress
8.1.4. 内联标记
8.1.4.1. 链接到元素
8.2. 使用Maven
8.2.1. 插件和版本
8.2.2. 配置快照资源库
8.2.3. 依赖关系
8.2.4. 仅Kotlin源代码编译
8.2.5. 与Java源码一起编译Kotlin
8.2.6. OSGi
8.2.7. 例子
8.3. 使用Ant
8.3.1. 取得Ant任务
8.3.2. 仅用Kotlin源码产生JVM
8.3.3. 仅用Kotlin源码和多个根产生JVM
8.3.4. 用Kotlin和Java源码产生JVM
8.3.5. 用单一源码文件夹产生JavaScript
8.3.6. 用前缀、后缀和原映射表选项产生JavaScript
8.3.7. 用单一源码文件夹和元信息选项产生JavaScript
8.3.8. 引用(参考)
8.3.8.1. 特性
8.3.8.2. 特性
8.4. 使用Gradle
8.4.1. 插件和版本
8.4.2. 针对JVM
8.4.3. 针对JavaScript
8.4.4. 针对Android
8.4.4.1. Android Studio
8.4.5. 配置依赖关系
8.4.6. 使用快照版本
8.4.7. OSGi
8.4.8. 例子
8.5. Kotlin 和 OSGi
8.5.1. Maven
8.5.2. Gradle
8.5.3. 常见问题及回答
8.5.3.1. 为什么不直接添加要求的manifest选项到所有的Kotlin代码库?
9. 常见问题与解答
9.1. 常见问题与解答
9.1.1. 常见问题
9.1.1.1. Kotlin是什么?
9.1.1.2. 为什么是一门新的编程语言?
9.1.1.3. 如何授权?
9.1.1.4. 与Java兼容吗?
9.1.1.5. 有工具支持吗?
9.1.1.6. 有Eclipse支持吗?
9.1.1.7. 有独立的编译器吗?
9.1.1.8. Kotlin 是函数式编程语言吗?
9.1.1.9. Kotlin支持泛型吗?
9.1.1.10. 要求分号(;)吗?
9.1.1.11. 要求花括号吗?
9.1.1.12. 为什么类型声明在右侧?
9.1.1.13. 右侧类型声明会影响工具吗?
9.1.1.14. Kotlin可扩展吗?
9.1.1.15. 我能嵌入我的DSL到该编程语言中吗?
9.1.1.16. JavaScript支持什么ECMAScript级别?
9.1.1.17. JavaScript back-end支持模块系统吗?
9.2. 与Java对比
9.2.1.1. 在Kotlin中解决了一些Java问题。
9.2.1.2. Java支持的,而Kotlin不支持的是什么?
9.2.1.3. Java不支持的,而Kotln支持的是什么?
9.3. 与Scala对比
9.3.1.1. Scala支持的,而Kotlin不支持的是什么?
9.3.1.2. Scala不支持的,而kotlin支持的是什么?

Kotlin开发语言文档(官方文档)-- 目录的更多相关文章

  1. KOTLIN开发语言文档(官方文档) -- 入门

    网页链接:https://kotlinlang.org/docs/reference/basic-syntax.html 1.   入门 1.1.  基本语法 1.1.1.   定义包 包说明应该在源 ...

  2. KOTLIN开发语言文档(官方文档) -- 2.基本概念

    网页链接:https://kotlinlang.org/docs/reference/basic-types.html 2.   基本概念 2.1.  基本类型 从可以在任何变量处理调用成员函数和属性 ...

  3. OpenGL ES着色器语言之着色概览(官方文档)

    OpenGL ES着色器语言之着色概览(官方文档第二章) 事实上,OpenGL ES着色语言是两种紧密关联的语言.这些语言用来在OpenGL ES处理管线的可编程处理器创建着色器. 在本文档中,除非另 ...

  4. Spring WebSocket Support官方文档+翻译

    实时更新技术能够应用在很多场景中,比如在浏览器中聊天.股票报价.状态更新.现场直播.这些需求对时间的延迟性都很敏感,但是我们可以发现他们存在这共有的共性. 标准的HTTP请求,是一次请求对应一次相应. ...

  5. kotlin官方文档-1.0入门

    什么是Kotlin?   图片发自简书App Kotlin是JetBrains开发的基于JVM的语言,JetBrains想必大家应该很熟悉了,他们创造了很多强大的IDE,android studio谷 ...

  6. iOS开发官方文档汇总

    程序员的学习过程是无止境的,程序员学习的途径是多样的.可以从视频教程中领悟,也可以从他人的代码中 理解.但当我们专注于某一个平台在开发的时候,对于某个API使用或者功能实现有疑问,通常简单的测试可以让 ...

  7. OpenGL ES着色器语言之变量和数据类型(二)(官方文档第四章)

    OpenGL ES着色器语言之变量和数据类型(二)(官方文档第四章) 4.5精度和精度修饰符 4.5.1范围和精度 用于存储和展示浮点数.整数变量的范围和精度依赖于数值的源(varying,unifo ...

  8. citus 多租户应用开发(来自官方文档)

      citus 官方文档很不错,资料很全,同时包含一个多租户应用的文档,所以运行下,方便学习 环境准备 使用docker-compose 运行,同时集成了graphql 引擎,很方便 docker-c ...

  9. Protocol Buffers官方文档(proto3语言指南)

    本文是对官方文档的翻译,大部分内容都是引用其他一些作者的优质翻译使文章内容更加通俗易懂(自己是直译,读起来有点绕口难理解,本人英文水平有限),参考的文章链接在文章末尾 这篇指南描述如何使用protoc ...

随机推荐

  1. Jenkins的一个bug-同时build一个项目两次导致失败

    我们有一个job A, A只是配置了一些参数,它会去触发模板job B. 我一开始点击构建A, 马上发现参数配置不对,于是撤消了构建,但是我没有发现B已经被触发,我重新配置参数,然后再次构建A,这个时 ...

  2. Jenkins配置MSBuild实现自动部署(MSBuild+SVN/Subversion+FTP+BAT)

    所要用到的主要插件: [MSBuild Plugin] 具体操作: 1.配置MSBuild的版本 [系统管理]->[Global Tool Configuration]->[MSBuild ...

  3. Mono下的WCF的Bug?

    最近一段时间,一直在折腾Mono,折腾Linux.让我无比痛苦的是Mono下的WCF的坑真的是太多了,这不又遇到了一个莫名其妙的问题. 环境:mono 3.2.1,Jexus 5.4.3,OS Cen ...

  4. eclipse下查看maven下载的源码中文乱码问题

    在项目中设置通过maven下载源代码和javadoc,直接通过eclipse浏览源代码时,发现中文为乱码.解决方法如下: 修改Eclipse中文本文件的默认编码:windows->Prefere ...

  5. JS创建对象篇

    JS创建对象篇 Object构造函数创建 var person = new Object(); person.name = "Tom"; person.age = 10; pers ...

  6. Electron中Jquery的引入方式

    原文链接http://huisky.com/blog/16122220522957 Electron默认启用了Node.js的require模块,而jQuery等新版本框架为了支持commondJS标 ...

  7. 图片在保存的时候===》出现这个异常:GDI+ 中发生一般性错误

    异常处理汇总-后端系列 http://www.cnblogs.com/dunitian/p/4523006.html 一般这种情况都是没有权限,比如目录没有创建就写入,或者没有写入文件的权限 我的是目 ...

  8. ubuntu 安装Elasticsearch5.0(Debian包)

    通过Debian包安装Elasticsearch Elasticsearch的Debian包可以从downloaded from our website或APT repository 它可以用于在任何 ...

  9. 1. 使用Filter 作为控制器

    最近整理一下学习笔记,并且准备放到自己的博客上.也顺便把Struts2 复习一遍 1. MVC 设计模式概览 实现 MVC(Model.View.Controller) 模式的应用程序由 3 大部分构 ...

  10. Hawk 4. 数据清洗

    数据清洗模块,包括几十个子模块, 这些子模块包含四类:生成, 转换, 过滤和执行. 数据清洗可以通过组合多个不同的子模块,生成多样的功能,通过拖拽构造出一个工作流,它能够产生一个有限或无限的文档序列. ...