Android修行手册之Kotlin-【类型转换】、【函数定义】、【匿名函数】、【可变参数】篇

简介: 众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣!!!

👉关于作者

众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣 !!!

专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)

有什么需要欢迎私我,交流群让学习不再孤单

👉前提

当前环境

2021年10月8日最新下载2020.3.1 Patch 2 版本

👉实践过程

😜类型转换

这一点和Java是有一些区别的,不再有【String. valueOf】、【Integer.valueOf】这类转换函数,而是改成了【to】形式(直接变量后面点to出来)。如:  

var Temp="1234"        var TempOne=Temp.toInt()
复制代码
  • toByte(): Byte,转为字节
  • toShort(): Short,转为短整型
  • toInt(): Int,转为整型
  • toLong(): Long,转为长整型
  • toFloat(): Float,转为浮点型
  • toDouble(): Double,转为双浮点型
  • toChar(): Char,转为字符型

😜函数定义

默认的定义是这样的,【fun】关键字表明是函数定义

private fun methon(height: Int): Int { //类型都是在 : 后面(注意看冒号),变量在前
    return height+1;
}
复制代码

也可以这样,函数可以直接利用【=】做赋值运算

private fun methon(height: Int): Int = height + 1;
复制代码

除了上面,相比Java还多了一点:函数的返回支持判断语句操作,如下

fun  methonTwo(height:Int):String{
    return  if (height>10){
        "大于10走if"
    }else{
        "否则走else"
    }
}
复制代码

而且像上面刚说的赋值符,也可以和判断形式结合,

private fun methon(height: Int): String = if (height > 10) {
    "大于10走if"
} else {
    "否则走else"
};
复制代码

😜匿名函数

val stringLengthFunc: (String) -> Int = { input ->
        input.length
}
复制代码

上例就是个匿名函数,接收一个String类型的参数,经匿名函数处理返回字符串的长度int类型,调用是这样的:

val stringLength: Int = stringLengthFunc("I Love Android")
复制代码

注意,匿名中的input是随意写的,你也可以改成别的名,不是系统的特别关键字

😜可变参数

在Java中是 … 符号(注意三个点),Kotlin是【vararg】关键字

也就是在方法定义中可以使用个数不确定的参数,对于同一方法可以使用不同个数的参数调用。

有意思的是Java中是可变参数,但可变的是个数,类型需要一致。(如果有大佬知道类型也能可变,欢迎浏览讨论)

而Kotlin不仅仅支持个数,还支持不同的数据类型。

啊,写着写着,我突然想起来了,如果Java中可变参数写的是Object类型,那么调用的时候其实也可以传多类型啊。

网络异常,图片无法展示
|


👉其他

📢作者:小空和小芝中的小空

📢转载说明-务必注明来源:

https://zhima.blog.csdn.net/

https://www.zhihu.com/people/zhimalier

https://juejin.cn/user/4265760844943479

📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。

相关文章
|
3月前
|
Android开发 Kotlin
Android经典面试题之Kotlin的==和===有什么区别?
本文介绍了 Kotlin 中 `==` 和 `===` 操作符的区别:`==` 用于比较值是否相等,而 `===` 用于检查对象身份。对于基本类型,两者行为相似;对于对象引用,`==` 比较值相等性,`===` 检查引用是否指向同一实例。此外,还列举了其他常用比较操作符及其应用场景。
193 93
|
13天前
|
安全 IDE Java
Kotlin教程笔记(3) - 空类型和智能类型转换
Kotlin教程笔记(3) - 空类型和智能类型转换
20 1
|
29天前
|
安全 IDE Java
Kotlin教程笔记(3) - 空类型和智能类型转换
Kotlin教程笔记(3) - 空类型和智能类型转换
|
1月前
|
安全 IDE Java
Kotlin教程笔记(3)- 空类型和智能类型转换
本教程详细讲解了Kotlin中的空类型、非空与可空类型、可空类型操作符、安全调用操作符、Elvis运算符、非空断言运算符以及智能类型转换等内容,帮助开发者更好地理解和使用Kotlin的空安全机制。适合希望深入了解Kotlin语法的开发者。快速入门请参考“简洁”系列教程。
29 3
|
2月前
|
存储 前端开发 测试技术
Android kotlin MVVM 架构简单示例入门
Android kotlin MVVM 架构简单示例入门
32 1
|
2月前
|
安全 IDE Java
Kotlin 学习笔记- 空类型和智能类型转换
Kotlin 学习笔记聚焦于空类型和智能类型转换,深入解析非空与可空类型、安全调用操作符、Elvis 运算符、非空断言运算符及智能类型转换等内容,助你高效掌握 Kotlin 语言特性,避免 NullPointException 异常,提升代码质量。
31 2
|
2月前
|
调度 Android开发 开发者
构建高效Android应用:探究Kotlin多线程优化策略
【10月更文挑战第11天】本文探讨了如何在Kotlin中实现高效的多线程方案,特别是在Android应用开发中。通过介绍Kotlin协程的基础知识、异步数据加载的实际案例,以及合理使用不同调度器的方法,帮助开发者提升应用性能和用户体验。
59 4
|
2月前
|
安全 IDE Java
Kotlin 学习笔记- 空类型和智能类型转换
Kotlin 学习笔记- 空类型和智能类型转换
47 2
|
2月前
|
JSON 调度 数据库
Android面试之5个Kotlin深度面试题:协程、密封类和高阶函数
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点。文章详细解析了Kotlin中的协程、扩展函数、高阶函数、密封类及`inline`和`reified`关键字在Android开发中的应用,帮助读者更好地理解和使用这些特性。
30 1
|
2月前
|
安全 IDE Java
Kotlin教程笔记(3) - 空类型和智能类型转换
Kotlin教程笔记(3) - 空类型和智能类型转换