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 ...
随机推荐
- 在Ubuntu下安装ovs-dpdk
在Ubuntu下安装ovs-dpdk 参考资料:https://software.intel.com/zh-cn/articles/using-open-vswitch-with-dpdk-on-ub ...
- 带你一分钟理解闭包--js面向对象编程
上一篇<简单粗暴地理解js原型链--js面向对象编程>没想到能攒到这么多赞,实属意外.分享是个好事情,尤其是分享自己的学习感悟.所以网上关于原型链.闭包.作用域等文章多如牛毛,很多文章写得 ...
- [C#版本]有趣啊!各种编程语言实现 2 + 2 = 5
首页新闻里面那个 [新闻头条]有趣啊!各种编程语言实现 2 + 2 = 5 其他的就不评论的,但是其中C#版的 真是逗比啊...评论中各种吐槽有木有... static void Main (stri ...
- C#非常重要基础之多态
前几天看了一位同志的博客,写的是关于他自己去支付宝面试的经历.过程大体是这样的:问答的时候,前面部分,作者都应答如流,说起自己经验如何之丰富,最后面试官问了作者一个问题:请简述多态的概念和作用.结果这 ...
- Azure 部署 Asp.NET Core Web App
在云计算大行其道的时代,当你在部署一个网站时,第一选择肯定是各式各样的云端服务.那么究竟使用什么样的云端服务才能够以最快捷的方式部署一个 ASP.NET Core 的网站呢?Azure 的 Web A ...
- Atitit webservice发现机制 WS-Discovery标准的规范attilax总结
Atitit webservice发现机制 WS-Discovery标准的规范attilax总结 1.1. WS-Discovery标准1 1.2. 一.WS-Discovery1 1.2.1. ...
- salesforce 零基础学习(五十四)常见异常友好消息提示
异常或者error code汇总:https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_calls_con ...
- 解析大型.NET ERP系统 设计异常处理模块
异常处理模块是大型系统必备的一个组件,精心设计的异常处理模块可提高系统的健壮性.下面从我理解的角度,谈谈异常处理的方方面面.我的设计仅仅限定于Windows Forms,供参考. 1 定义异常类型 . ...
- SQL Server 动态生成数据库所有表Insert语句
一. 背景 SQL Server,如果我们需要把数据库A的所有表数据到数据库B中,通常我们会怎么做呢?我会使用SSMS的导入导出功能,进行表数据的导入导出,无可厚非,这样的导入非常简单和方便: 但是, ...
- 从零开始编写自己的C#框架(21)——添加分类类型页面
页面权限与页面控件权限经过简单的调试后,终于启用起来了,以后大家添加新页面时,就必须按照本章介绍的方法,将你新增的页面注册到系统中,这样才能访问与进行相关操作. 下面讲讲如何创建一个分类类型的页面. ...