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<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! 可以表示 StringString? | 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_04 数据结构_kotlin 列表交换位置_新镜的博客-CSDN博客Kotlin语言(七):数据结构 - 简书 | 参考链接 |
| var array=arrayOf(1,"hello",true) | 混合类型 |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
[kotlin数据结构]

相关推荐
AI人工智能+电脑小能手20 分钟前
【大白话说Java面试题】【Java基础篇】第30题:JDK动态代理和CGLIB动态代理有什么区别
java·开发语言·后端·面试·代理模式
DFT计算杂谈41 分钟前
wannier90 参数详解大全
java·前端·css·html·css3
marsh02061 小时前
43 openclaw熔断与降级:保障系统在异常情况下的可用性
java·运维·网络·ai·编程·技术
张健11564096481 小时前
临界区和同一线程上锁
java·开发语言·jvm
头发够用的程序员1 小时前
C++和Python面试经典算法汇总(一)
开发语言·c++·python·算法·容器·面试
夜猫逐梦1 小时前
【逆向经验】一篇文章讲透为什么CE搜不到Python游戏的内存值
开发语言·python·游戏
alexhilton2 小时前
揭密:Compose应用如何做到启动提升34%
android·kotlin·android jetpack
超梦dasgg2 小时前
智慧充电系统设备管理服务对外接口实现方案
java·spring·微服务
SilentSamsara2 小时前
闭包的本质:Python 如何捕获自由变量
开发语言·python·青少年编程·pycharm
十五年专注C++开发2 小时前
浅谈LLVM
开发语言·c++·qt·clang·llvm