开始阅读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. 2DToolkit官方文档中文版打地鼠教程(二):设置摄像机

    这是2DToolkit官方文档中 Whack a Mole 打地鼠教程的译文,为了减少文中过多重复操作的翻译,以及一些无必要的句子,这里我假设你有Unity的基础知识(例如了解如何新建Sprite等) ...

  2. Xamarin.Android通知详解

    一.发送通知的机制 在日常的app应用中经常需要使用通知,因为服务.广播后台活动如果有事件需要通知用户,则需要通过通知栏显示,而在Xamarin.Android下的通知需要获取Notification ...

  3. 在 Linux 上使用 Jexus + Mono 建立 Asp.Net 网站.

    godaddy 买了个net空间,一点也不好用. 几个G的数据, 上传数据只有几kb , 想用 ssh 登录上去用 wget 下载,也不行 windows的主机貌似没有 ssh 功能... 后来实在忍 ...

  4. 【转】ofbiz数据库表结构设计

    真心不错的文章,可以加深对企业信息化的设计理解:) http://blog.sina.com.cn/s/blog_a2ca5d8c01017fa0.html http://blog.sina.com. ...

  5. android内部培训视频_第五节(1)_OA实战之登录界面

    第五节(1):OA实战之登录界面  一.登录界面布局 1.背景图片 2.文本框 3.checkbox 4.按钮 暂未实现点击切换图片效果 <RelativeLayout xmlns:androi ...

  6. VirtualBox 桥接上网方式的配置

    最近在搞Redis所以装了个virtualbox的ubuntu的虚拟机, redis不是在ubuntu上. 因为需要使用本机客户端访问redis服务,所以需要配置虚拟机和本地机器的双向访问,所以就用到 ...

  7. 【原】SDWebImage源码阅读(五)

    [原]SDWebImage源码阅读(五) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 前面的代码并没有特意去讲SDWebImage的缓存机制,主要是想单独开一章节专门讲 ...

  8. 在Linux Mint上安装node.js和npm

    1.安装Node.js 前端开发过程中,很多项目使用npm的http-server的模块来运行一个静态的服务器,我个人在Dell的笔记本上安装的是Linux Mint最新版本,所以想尝试一下在Linu ...

  9. .NET MVC4 Razor视图预编译(一)

    在平时使用.NET MVC中不乏有类似的需求:某些razor视图,特别是系统后台的视图,不想让用户自行更改,需要通过某种方法把视图模板编译到项目的dll中去. 但是VS并不提供razor的预编译,如果 ...

  10. 【目录】JUC锁框架目录

    JUC锁框架的目录整理如下: 1. [JUC]JUC锁框架综述 2. [JUC]JDK1.8源码分析之LockSupport(一) 3. [JUC]JDK1.8源码分析之AbstractQueuedS ...