Kotlin 学习笔记(二) 编码规范和导入包
2017-06-24 12:33
260 查看
编码规范
无冲突的地方默认使用Java的编码风格使用驼峰法命名(并避免命名含有下划线)
类型名以大写字母开头
方法和属性以小写字母开头
使用 4 个空格缩进
公有函数应撰写函数文档,这样这些文档才会出现在 Kotlin Doc 中
冒号
类型和超类型之间的冒号前要有一个空格,而实例和类型之间的冒号前不要有空格:interface Foo<out T : Any> : Bar { fun foo(a: Int): T }
Lambda表达式
在lambda表达式中, 大括号左右要加空格,分隔参数与代码体的箭头左右也要加空格 。lambda表达应尽可能不要写在圆括号中list.filter { it > 10 }.map { element -> element * 2 }
在非嵌套的短lambda表达式中,最好使用约定俗成的默认参数
it来替代显式声明参数名 。在嵌套的有参数的lambda表达式中,参数应该总是显式声明。
Unit
如果函数返回 Unit 类型,该返回类型应该省略:fun foo() { // 省略了 ": Unit" }
函数还是属性
很多场合无参的函数可与只读属性互换。 尽管语义相近,也有一些取舍的风格约定。底层算法优先使用属性而不是函数:
不会抛异常
O(1) 复杂度
计算廉价(或缓存第一次运行)
不同调用返回相同结果
类头的格式
放在类相关的内容中包和导入
包
源文件通常以包声明开头:package foo.bar fun baz() {} class Goo {} // ……
源文件所有内容(无论是类还是函数)都包含在声明的包内。 所以上例中 baz() 的全名是 foo.bar.baz、Goo 的全名是 foo.bar.Goo。
如果没有指明包,该文件的内容属于无名字的默认包。
导入
除了默认导入之外,每个文件可以包含它自己的导入指令。 导入语法在语法中讲述。可以导入一个单独的名字,如.
import foo.Bar // 现在 Bar 可以不用限定符访问
也可以导入一个作用域下的所有内容(包、类、对象等):
import foo.* // “foo”中的一切都可访问
如果出现名字冲突,可以使用 as 关键字在本地重命名冲突项来消歧义:
import foo.Bar // Bar 可访问 import bar.Bar as bBar // bBar 代表“bar.Bar”
关键字 import 并不仅限于导入类;也可用它来导入其他声明:
顶层函数及属性
在对象声明中声明的函数和属性;
枚举常量
与 Java 不同,Kotlin 没有单独的 “import static” 语法; 所有这些声明都用 import 关键字导入。
相关文章推荐
- 【学习笔记】JavaScript编码规范-类型
- 【学习笔记】JavaScript编码规范-属性
- 【学习笔记】JavaScript编码规范-对象
- Python学习笔记 --- Python 编码规范
- Kotlin学习笔记1-3 入门-代码规范
- 【学习笔记】JavaScript编码规范-字符串
- 【学习笔记】JavaScript编码规范- 空白
- 【学习笔记】JavaScript编码规范-声明提升
- Jquery学习笔记——编码规范
- 【学习笔记】JavaScript编码规范-函数
- 【学习笔记】JavaScript编码规范-语句块
- 【学习笔记】JavaScript编码规范- 注释
- Kotlin学习(4):编码规范
- 【学习笔记】JavaScript编码规范-比较运算符&相等
- 【学习笔记】JavaScript编码规范-变量
- 【学习笔记】JavaScript编码规范-数组
- C++ FAQ学习笔记 27章 编码规范
- Kotlin 学习笔记(五)—— Kotlin基础之控制流、返回与跳转、 包与导入
- [C学习笔记].编码规范
- Kotlin 从学习到 Android 第三章 编码规范