Kotlin语法

 整理关键语法列表如下:

https://developer.android.com/kotlin/interop?hl=zh-cn 官方指导链接
语法形式
说明
println("count ${count+num}") 字符串里取值运算

val count = 2

var sum = 0 

类型自动推导

val 定义只读变量,优先

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{
    return a + b.invoke(3,5) //8
}

匿名函数定义在{}里,a,b入参,->表示转向,返回a+b。

后面是高阶函数,函数中回调函数

Kotlin符号介绍(一) - 简书 kotlin特殊符号使用介绍

class Car()

class Car(val wheels: List)

不带参数构造

带参数构造

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
init {
    index = 12
}

private lateinit var statusTextView: TextView

属性初始化

(2,3 方式避免管理null,少加?)

未初始化就使用会Kotlin 会抛出 UninitializedPropertyAccessException

https://developer.android.com/kotlin/style-guide?hl=zh-cn kotlin官方编程规范
kotlin数据结构

kotlin_04 数据结构_kotlin 列表交换位置_新镜的博客-CSDN博客 Kotlin语言(七):数据结构 - 简书

参考链接
var array=arrayOf(1,"hello",true) 混合类型

Kotlin语法_第1张图片

Kotlin语法_第2张图片

 

你可能感兴趣的:(kotlin,java,开发语言)