本页包含了当前 kotlin 语言的代码风格。
如有疑惑,默认为 Java 编码风格,比如:
在冒号区分类型和父类型中要有空格,在实例和类型之间是没有空格的:
interface Foo<out T : Any> : Bar {
fun foo(a: Int): T
}
在 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 ,返回类型应该省略:
fun foo() { // ": Unit"被省略了
}
在某些情况下,没有参数的函数可以与只读属性互换。尽管语义是相似的,但是有一些风格上的约定在什么时候更偏向于另一个。
在下面的情况下,更偏向于属性而不是一个函数:
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/jim__charles/article/details/72537971
内容来源于网络,如有侵权,请联系作者删除!