整理关键语法列表如下:
https://developer.android.com/kotlin/interop?hl=zh-cn | 官方指导链接 |
语法形式 | 说明 |
println("count ${count+num}") | 字符串里取值运算 |
val count = 2 var sum = 0 | 类型自动推导
var定义可变变量,可修改 |
val stradd = str1 + str2 | 字符串相加 |
println("Say \"hello\" \n") | 转义序列 |
变量名称应采用驼峰式大小写形式,并以小写字母开头 | 编码规范 |
fun birthdayGreeting(name: String): String {} | 函数定义 |
指定传入形参的名字,可以不按顺序传参 | 具名实参 |
fun birthdayGreeting(name: String = "Rover", age: Int): String | 默认实参 |
val languageName: String? = null | null安全 |
if (count == 42) { "I have the answer." } | if条件表达式 表达式返回值为条件句中最后一个表达式值 |
val answerString = when { count == 42 -> "I have the answer." count > 35 -> "The answer is close." else -> "The answer eludes me." } | when条件表达式 返回类型要统一 每个分支要有返回 |
val fun1:(Int, Int)->Int={a,b->(a+b)} fun test(a : Int , b : (num1 : Int , num2 : Int) -> Int) : Int{ | 匿名函数定义在{}里,a,b入参,->表示转向,返回a+b。 后面是高阶函数,函数中回调函数 |
Kotlin符号介绍(一) - 简书 | kotlin特殊符号使用介绍 |
class Car() class Car(val wheels: List<Wheel>) | 不带参数构造 带参数构造 |
val car = Car() | 类实例化 |
var gallonsOfFuelInTank: Int = 15 private set | 自定义属性引用方式(get set) 外部可读不可写 |
class LoginFragment : Fragment() | 类继承 |
override fun onCreateView( | 类方法重写 |
private lateinit var usernameEditText: EditText | 类实例化后推迟变量初始化 |
无参的匿名函数形式为{} loginButton.setOnClickListener {//函数动作} | SAM转换 |
伴生对象=java中的static,声明静态变量 | companion object |
private val viewModel: LoginViewModel by viewModels() | 属性委托? |
String! 可以表示 String 或 String? | null不明确性通过平台类型 |
val accountName = account.name!!.trim() | 非 null 断言运算符 !!( 是null会跑出异常),不建议用 |
val accountName = account.name?.trim() val accountName = account.name?.trim()?:Default | 安全调用运算符 ?.(为空返回null,建议后再跟?:表示为空默认赋值为Default使用) |
val index: Int = 12 val index: Int private lateinit var statusTextView: TextView | 属性初始化 (2,3 方式避免管理null,少加?) 未初始化就使用会Kotlin 会抛出 |
https://developer.android.com/kotlin/style-guide?hl=zh-cn | kotlin官方编程规范 |
kotlin_04 数据结构_kotlin 列表交换位置_新镜的博客-CSDN博客 Kotlin语言(七):数据结构 - 简书 | 参考链接 |
var array=arrayOf(1,"hello",true) | 混合类型 |