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数据结构]

相关推荐
二川bro15 小时前
特征工程完全手册:2025 Python实战技巧
开发语言·python
p***h64315 小时前
JavaScript图像处理开发
开发语言·javascript·图像处理
袅沫15 小时前
微服务如何进行远程调用其他服务
java·微服务·架构
2501_9411481516 小时前
高并发搜索引擎Elasticsearch与Solr深度优化在互联网实践分享
java·开发语言·前端
专家大圣16 小时前
告别局域网束缚!飞牛云 NAS+cpolar 让远程管理更简单
开发语言·网络·内网穿透·cpolar
共享家952716 小时前
QT-界面优化(上)
开发语言·qt
熊猫钓鱼>_>16 小时前
从零开始构建RPG游戏战斗系统:实战心得与技术要点
开发语言·人工智能·经验分享·python·游戏·ai·qoder
FuckPatience16 小时前
C++ 常用类型写法和全称
开发语言·c++
q***133416 小时前
使用 java -jar 命令启动 Spring Boot 应用时,指定特定的配置文件的几种实现方式
java·spring boot·jar
q***R30816 小时前
Kotlin注解处理
android·开发语言·kotlin