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

相关推荐
玉笥寻珍11 分钟前
筑牢信息安全防线:涉密计算机与互联网隔离的理论实践与风险防控
开发语言·计算机网络·安全·计算机外设·php·安全架构·安全性测试
蓝莓味柯基15 分钟前
Lodash isEqual 方法源码实现分析
开发语言
秋野酱18 分钟前
Spring Boot 项目的计算机专业论文参考文献
java·spring boot·后端
秋野酱25 分钟前
python项目参考文献
开发语言·python
士别三日&&当刮目相看26 分钟前
数据结构*优先级队列(堆)
java·数据结构
香饽饽~、30 分钟前
【第二篇】 初步解析Spring Boot
java·spring boot·后端
坎布里奇41 分钟前
java -jar命令运行 jar包时如何运行外部依赖jar包
java·pycharm·jar
冷yan~1 小时前
GitHub文档加载器设计与实现
java·人工智能·spring·ai·github·ai编程
CodeBlossom1 小时前
java加强 -stream流
java·windows·python