kotlin学习笔记(三)
来源:互联网 发布:excel单元格数据合并 编辑:程序博客网 时间:2024/05/18 21:07
代码风格
本页包含了当前 kotlin 语言的代码风格。
命名风格
如有疑惑,默认为Java编码约定,比如:
--使用骆驼命名法(在命名中避免下划线)
--类型名称首字母大写
--方法和属性首字母小写
--缩进用四个空格
--public 方法要写说明文档,这样它就可以出现在 Kotllin Doc 中
冒号
在冒号区分类型和父类型中要有空格,在实例和类型之间是没有空格的:
interface Foo<out T : Any> : Bar {fun foo(a: Int): T}
Lambdas
在 Lambdas 表达式中,大括号与表达式间要有空格,箭头与参数和函数体间要有空格。尽可能的把 lambda 放在括号外面传入
list.filter { it > 10 }.map { element -> element * 2 }
在使用简短而非嵌套的lambda中,建议使用it
而不是显式地声明参数。在使用参数的嵌套lambda中,参数应该总是显式声明
类声明格式
参数比较少的类可以用一行表示:
class Person(id: Int, name: String)
具有较多的参数的类应该格式化成每个构造函数的参数都位于与缩进的单独行中。此外,结束括号应该在新行上。如果我们使用继承,那么超类构造函数调用或实现的接口列表应该位于与括号相同的行中
class Person( id: Int, name: String, surname: String) : Human(id, name) { // ...}
对于多个接口,应该首先定位超类构造函数调用,然后每个接口应该位于不同的行中
class Person( id: Int, name: String, surname: String) : Human(id, name), KotlinMaker { // ...}
构造函数参数可以使用常规缩进或连续缩进(双倍正常缩进)。
Unit
如果函数返回 Unit ,返回类型应该省略:
fun foo() { // ": Unit"被省略了}
函数 vs 属性
在某些情况下,没有参数的函数可以与只读属性互换。尽管语义是相似的,但是有一些风格上的约定在什么时候更偏向于另一个。
在下面的情况下,更偏向于属性而不是一个函数:
-- 不需要抛出异常 -- 拥有O(1)复杂度 -- 低消耗的计算(或首次运行结果会被缓存) -- 返回与调用相同的结果
阅读全文
0 0
- kotlin学习笔记(三)
- kotlin学习笔记(三)
- Kotlin学习笔记(三)---Kotlin密封类
- Kotlin学习笔记(三)- 函数
- Kotlin学习笔记(二)——示例篇三
- Kotlin学习笔记(三)类和继承
- Kotlin笔记(三)数据类型
- Kotlin 学习笔记(三) 类和继承
- Kotlin学习笔记(一)
- kotlin学习笔记(二)
- kotlin学习笔记(四)
- kotlin学习笔记(四)
- kotlin学习笔记(五)
- kotlin学习笔记(六)
- kotlin学习笔记(七)
- kotlin学习笔记(八)
- kotlin学习笔记(二)
- Kotlin学习笔记(一)
- web service(SOAP)与HTTP接口的区别
- 执法仪4G高清图传及可视化指挥系统
- 【Codeforces 809 A. Do you want a date?】
- Vue实现动态显示textarea剩余文字数量
- 避免导致代码难以维护的35种习惯
- kotlin学习笔记(三)
- /var/log/secure
- BZOJ4883: [Lydsy2017年5月月赛]棋盘上的守卫
- CSDN日报20170522 ——《从个人习惯到真正的好方法》
- linux 正则表达式和通配符
- pom.xml加载本地Jar包
- Windows和Linux查看和更改mysql连接池
- java int类型与char类型转换
- uboot下载配置事项,使用uboot下载裸机程序,并运行