Kotlin开发语言文档(官方文档)-- 目录
开始阅读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开发语言文档(官方文档)-- 目录的更多相关文章
- KOTLIN开发语言文档(官方文档) -- 入门
网页链接:https://kotlinlang.org/docs/reference/basic-syntax.html 1. 入门 1.1. 基本语法 1.1.1. 定义包 包说明应该在源 ...
- KOTLIN开发语言文档(官方文档) -- 2.基本概念
网页链接:https://kotlinlang.org/docs/reference/basic-types.html 2. 基本概念 2.1. 基本类型 从可以在任何变量处理调用成员函数和属性 ...
- OpenGL ES着色器语言之着色概览(官方文档)
OpenGL ES着色器语言之着色概览(官方文档第二章) 事实上,OpenGL ES着色语言是两种紧密关联的语言.这些语言用来在OpenGL ES处理管线的可编程处理器创建着色器. 在本文档中,除非另 ...
- Spring WebSocket Support官方文档+翻译
实时更新技术能够应用在很多场景中,比如在浏览器中聊天.股票报价.状态更新.现场直播.这些需求对时间的延迟性都很敏感,但是我们可以发现他们存在这共有的共性. 标准的HTTP请求,是一次请求对应一次相应. ...
- kotlin官方文档-1.0入门
什么是Kotlin? 图片发自简书App Kotlin是JetBrains开发的基于JVM的语言,JetBrains想必大家应该很熟悉了,他们创造了很多强大的IDE,android studio谷 ...
- iOS开发官方文档汇总
程序员的学习过程是无止境的,程序员学习的途径是多样的.可以从视频教程中领悟,也可以从他人的代码中 理解.但当我们专注于某一个平台在开发的时候,对于某个API使用或者功能实现有疑问,通常简单的测试可以让 ...
- OpenGL ES着色器语言之变量和数据类型(二)(官方文档第四章)
OpenGL ES着色器语言之变量和数据类型(二)(官方文档第四章) 4.5精度和精度修饰符 4.5.1范围和精度 用于存储和展示浮点数.整数变量的范围和精度依赖于数值的源(varying,unifo ...
- citus 多租户应用开发(来自官方文档)
citus 官方文档很不错,资料很全,同时包含一个多租户应用的文档,所以运行下,方便学习 环境准备 使用docker-compose 运行,同时集成了graphql 引擎,很方便 docker-c ...
- Protocol Buffers官方文档(proto3语言指南)
本文是对官方文档的翻译,大部分内容都是引用其他一些作者的优质翻译使文章内容更加通俗易懂(自己是直译,读起来有点绕口难理解,本人英文水平有限),参考的文章链接在文章末尾 这篇指南描述如何使用protoc ...
随机推荐
- Harmonic Number(调和级数+欧拉常数)
题意:求f(n)=1/1+1/2+1/3+1/4-1/n (1 ≤ n ≤ 108).,精确到10-8 (原题在文末) 知识点: 调和级数(即f(n))至今没有一个完全正确的公式, ...
- Linux服务器安全配置
众所周知,网络安全是一个非常重要的课题,而服务器是网络安全中最关键的环节.Linux被认为是一个比较安全的Internet服务器,作为一种开放源代码操作系统,一旦Linux系统中发现有安全漏洞,Int ...
- SSD框架训练自己的数据集
SSD demo中详细介绍了如何在VOC数据集上使用SSD进行物体检测的训练和验证.本文介绍如何使用SSD实现对自己数据集的训练和验证过程,内容包括: 1 数据集的标注2 数据集的转换3 使用SSD如 ...
- Xamarin.Android下获取与解析JSON
一.新建项目 1.新建一个Android项目,并命名为为NetJsonList 2.右击引用,选择添加引用,引用System.Json.dll 二.同步请求 既然是跨平台,我们自然不能按照java下的 ...
- .NET基础拾遗(6)ADO.NET与数据库开发基础
Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开发基 ...
- 详解前端模块化工具-webpack
webpack是一个module bundler,抛开博大精深的汉字问题,我们暂且管他叫'模块管理工具'.随着js能做的事情越来越多,浏览器.服务器,js似乎无处不在,这时,使日渐增多的js代码变得合 ...
- python的拷贝(深拷贝和浅拷贝)
今天看了几篇关于python拷贝的博文,感觉不太清楚,所以我就自己做实验试一下,特此记录. 拷贝是针对组合对象说的,比如列表,类等,而数字,字符串这样的变量是没有拷贝这一说的. 实现拷贝有: 1.工厂 ...
- Atitit Data Matrix dm码的原理与特点
Atitit Data Matrix dm码的原理与特点 Datamatrix原名Datacode,由美国国际资料公司(International Data Matrix, 简称ID Matrix)于 ...
- Hexo的coney主题的一些补充说明
title: Hexo的coney主题的一些补充说明 date: 2014-12-14 14:10:44 categories: Hexo tags: [hexo,技巧] --- Coney是一个非常 ...
- IE开发人员工具之实用功能讲解
F12快捷键调出开发人员工具 一.JS的内容格式化 1.内容较乱的js脚本: 2.勾选下面两项即可进行格式化脚本:自动换行与格式化JS 3.调理清楚的脚本 二:清空控制台 1.右键->清空 2. ...