kotlin萌新入门
1. 基础教程
-
变量
- 只读变量
val a :Int = 1
- 普通变量
var a:Int = 123
- 可自动推测类型
- 可以接受一个表达式
val name if(you=="tomcat"){"yes"}else{"no"}
- 只读变量
-
函数返回值
- 普通返回
fun() :Int{}
- 直接返回
fun(a: Int,b:Int)=a+b
- 空返回
fun() :Unit{}
- 可省略
- 普通返回
-
函数
- 默认值
fun (a:Int = 0)
- 默认值
-
字符串模板
- 取字符串的电脑
$value
- 字符串表达式
${value}
- 取字符串的电脑
-
null值
-
变量可以为空
Int?
在类型后面添加?问号 -
类型检测
-
obj is Int
-
for循环
-
类似Java的foreach循环
-
while循环
-
条件可以使表达式
-
when语句
-
类似与Java的switch
-
key值可以是任意类型
-
demo
when(obj){ 1 -> "int" "name" -> "string" is Int -> "is int" else -> "default" } //else 类似于Java的default
-
区间
-
判断是否存在于区间里面
if (x in 1..10)
-
判断是否在区间外
if (x !in 1..10)
-
区间迭代
for(x in 1..10)
-
区间迭代加步长
for(x in 1..10 step 2)
-
区间包含
- 包含
for(x in 1..100)
- 不包含
for(x in 1 until 100)
- 包含
-
集合
- 类似Java的foreach语句
for(item in items)
- 类似Java的foreach语句
-
lambada表达式过滤filter和映射map
`//假如有集合`
`val animal = listOf("dog","cat","fish")`
1. filter
1. `animal.filter{it.startsWith("a")}`
2. map
1. `animal.map{it.toUpperCase()}`
-
延迟属性
-
val p:String by lazy{}
-
创建单例
-
Java中使用private 结合 final ,kotlin中仅仅是使用val即可
-
扩展函数
-
暂略
-
if not null
-
name = "tomcat"
if(name?){}
-
TODO
-
不完整代码
2.编码规范
-
源文件名
- 单个类时候,文件名和类名一致
- 驼峰命名风格
-
类内布局
-
属性声明
-
初始化
-
次构造函数
-
方法声明
-
伴生对象
-
命名规则
-
包名
- 小写,不使用下划线
-
类名、函数名和对象名
-
大写字母开头的驼峰风格
-
测试方法
- 允许使用下划线
- 允许使用反括号带空格的名称 android中不可以,少用
-
属性名
-
val
-
大写,下划线分割
-
幕后属性(类似与Java的private)
- 下划线开头 对外部不可见