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

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

相关文章
|
11月前
|
安全 Java Android开发
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
478 0
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
|
Android开发 开发者 Kotlin
Android实战经验之Kotlin中快速实现MVI架构
MVI架构通过单向数据流和不可变状态,提供了一种清晰、可预测的状态管理方式。在Kotlin中实现MVI架构,不仅提高了代码的可维护性和可测试性,还能更好地应对复杂的UI交互和状态管理。通过本文的介绍,希望开发者能够掌握MVI架构的核心思想,并在实际项目中灵活应用。
650 8
|
编译器 Android开发 开发者
Android经典面试题之Kotlin中Lambda表达式和匿名函数的区别
Lambda表达式和匿名函数都是Kotlin中强大的特性,帮助开发者编写简洁而高效的代码。理解它们的区别和适用场景,有助于选择最合适的方式来解决问题。希望本文的详细讲解和示例能够帮助你在Kotlin开发中更好地运用这些特性。
425 9
|
存储 前端开发 测试技术
Android kotlin MVVM 架构简单示例入门
Android kotlin MVVM 架构简单示例入门
582 1
|
调度 Android开发 开发者
构建高效Android应用:探究Kotlin多线程优化策略
【10月更文挑战第11天】本文探讨了如何在Kotlin中实现高效的多线程方案,特别是在Android应用开发中。通过介绍Kotlin协程的基础知识、异步数据加载的实际案例,以及合理使用不同调度器的方法,帮助开发者提升应用性能和用户体验。
304 4
|
JSON 调度 数据库
Android面试之5个Kotlin深度面试题:协程、密封类和高阶函数
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点。文章详细解析了Kotlin中的协程、扩展函数、高阶函数、密封类及`inline`和`reified`关键字在Android开发中的应用,帮助读者更好地理解和使用这些特性。
579 1
|
安全 Android开发 Kotlin
Android经典面试题之Kotlin延迟初始化的by lazy和lateinit有什么区别?
**Kotlin中的`by lazy`和`lateinit`都是延迟初始化技术。`by lazy`用于只读属性,线程安全,首次访问时初始化;`lateinit`用于可变属性,需手动初始化,非线程安全。`by lazy`支持线程安全模式选择,而`lateinit`适用于构造函数后初始化。选择依赖于属性特性和使用场景。**
964 5
Android经典面试题之Kotlin延迟初始化的by lazy和lateinit有什么区别?
|
Android开发 开发者 Kotlin
告别AsyncTask:一招教你用Kotlin协程重构Android应用,流畅度飙升的秘密武器
【9月更文挑战第13天】随着Android应用复杂度的增加,有效管理异步任务成为关键。Kotlin协程提供了一种优雅的并发操作处理方式,使异步编程更简单直观。本文通过具体示例介绍如何使用Kotlin协程优化Android应用性能,包括网络数据加载和UI更新。首先需在`build.gradle`中添加coroutines依赖。接着,通过定义挂起函数执行网络请求,并在`ViewModel`中使用`viewModelScope`启动协程,结合`Dispatchers.Main`更新UI,避免内存泄漏。使用协程不仅简化代码,还提升了程序健壮性。
561 1
|
调度 Android开发 开发者
【颠覆传统!】Kotlin协程魔法:解锁Android应用极速体验,带你领略多线程优化的无限魅力!
【8月更文挑战第12天】多线程对现代Android应用至关重要,能显著提升性能与体验。本文探讨Kotlin中的高效多线程实践。首先,理解主线程(UI线程)的角色,避免阻塞它。Kotlin协程作为轻量级线程,简化异步编程。示例展示了如何使用`kotlinx.coroutines`库创建协程,执行后台任务而不影响UI。此外,通过协程与Retrofit结合,实现了网络数据的异步加载,并安全地更新UI。协程不仅提高代码可读性,还能确保程序高效运行,不阻塞主线程,是构建高性能Android应用的关键。
340 4
|
安全 Android开发 Kotlin
Android经典面试题之Kotlin中常见作用域函数
**Kotlin作用域函数概览**: `let`, `run`, `with`, `apply`, `also`. `let`安全调用并返回结果; `run`在上下文中执行代码并返回结果; `with`执行代码块,返回结果; `apply`配置对象后返回自身; `also`附加操作后返回自身
451 8

热门文章

最新文章