kotlin萌新入门

文章目录

  • ​​kotlin萌新入门​​
  • ​​@[toc]​​
  • ​​1. 基础教程​​
  • ​​2.编码规范​​

1. 基础教程

  1. 变量
  1. 只读变量 ​​val a :Int = 1​
  2. 普通变量 ​​var a:Int = 123​
  3. 可自动推测类型
  4. 可以接受一个表达式 ​​val name if(you=="tomcat"){"yes"}else{"no"}​
  1. 函数返回值
  1. 普通返回​​fun() :Int{}​
  2. 直接返回 ​​fun(a: Int,b:Int)=a+b​
  3. 空返回 ​​fun() :Unit{}​
  1. 可省略
  1. 函数
  1. 默认值 ​​fun (a:Int = 0)​
  1. 字符串模板
  1. 取字符串的电脑​​$value​
  2. 字符串表达式 ​​${value}​
  1. null值
  2. 变量可以为空 ​​Int?​在类型后面添加?问号
  3. 类型检测
  4. ​obj is Int​
  5. for循环
  6. 类似Java的foreach循环
  7. while循环
  8. 条件可以使表达式
  9. when语句
  10. 类似与Java的switch
  11. key值可以是任意类型
  12. demo
when(obj){
1 -> "int"
"name" -> "string"
is Int -> "is int"
else -> "default"
}

//else 类似于Java的default

  1. 区间
  2. 判断是否存在于区间里面​​if (x in 1..10)​
  3. 判断是否在区间外 ​​if (x !in 1..10)​
  4. 区间迭代 ​​for(x in 1..10)​
  5. 区间迭代加步长 ​​for(x in 1..10 step 2)​
  6. 区间包含
  1. 包含​​for(x in 1..100)​
  2. 不包含 ​​for(x in 1 until 100)​
  1. 集合
  1. 类似Java的foreach语句​​for(item in items)​
  1. lambada表达式过滤filter和映射map
`//假如有集合`

`val animal = listOf("dog","cat","fish")`

1. filter
1. `animal.filter{it.startsWith("a")}`
2. map
1. `animal.map{it.toUpperCase()}`
  1. 延迟属性
  2. ​val p:String by lazy{}​
  3. 创建单例
  4. Java中使用private 结合 final ,kotlin中仅仅是使用val即可
  5. 扩展函数
  6. 暂略
  7. if not null
  8. ​name = "tomcat"​​​ ​​if(name?){}​
  9. TODO
  10. 不完整代码

2.编码规范

  1. 源文件名
  1. 单个类时候,文件名和类名一致
  2. 驼峰命名风格
  1. 类内布局
  2. 属性声明
  3. 初始化
  4. 次构造函数
  5. 方法声明
  6. 伴生对象
  7. 命名规则
  8. 包名
  1. 小写,不使用下划线
  1. 类名、函数名和对象名
  2. 大写字母开头的驼峰风格
  3. 测试方法
  1. 允许使用下划线
  2. 允许使用反括号带空格的名称 android中不可以,少用
  1. 属性名
  2. val
  3. 大写,下划线分割
  4. 幕后属性(类似与Java的private)
  1. 下划线开头 对外部不可见