草庐IT

kotlin-experimental

全部标签

kotlin 中双冒号 :: 的用法

在Kotlin中,::是一个操作符,它可以用来引用函数、属性或构造函数。具体用法如下:引用函数:可以使用::操作符来引用一个函数。例如,::println可以用来引用println函数。funprintWithPrefix(prefix:String,message:String){println("$prefix$message")}funmain(){valprefix="Message:"valmessage="Hello,Kotlin!"valprinter=::println//将println函数引用赋值给printer变量printWithPrefix(prefix,messag

kotlin 转 Java

今天突然想研究下有些kotlin文件转为Java到底长什么样,好方便优化kotlin代码,搞了半天发现一个非常简单的AndroidStudio或者Intellijidea官方插件Kotlin,Kotlin是插件的名字,真是醉了;这里以AS为例,使用很简单:1.左边目录栏找到想要的转化的kotlin文件,选中,然后顶部Tools----->Kotlin------>ShowKotlinBytecode(明明下面有个DecompiletoJava,就是灰色的,用不起),如图:2.经过前面步骤,就会把kotlin文件转为字节码吗,如图:3.点击插件窗口左上角Decompile,就会反编译为Java文

单元测试:优雅编写Kotlin单元测试

一、MockK简介MockK是一款功能强大、易于使用的Kotlinmocking框架。在编写单元测试时,MockK能够帮助我们简化代码、提高测试覆盖率,并改善测试的可维护性。除了基本用法外,MockK还提供了许多额外的功能和灵活的用法,让我们能够更好地模拟对象行为、验证函数调用,并在测试中处理更复杂的场景。本文将深入探索MockK框架,介绍其基本用法以及一些额外的高级特性,助力开发者更优雅地编写Kotlin单元测试。二、基本用法在开始使用MockK之前,我们需要将其库添加到项目的依赖中。然后,我们可以使用mockk函数创建模拟对象,使用every函数来定义模拟对象的行为。例如,我们可以模拟一个

Kotlin 是后端开发的未来

Kotlin是后端开发的未来严格类型、命名参数、多范式语言您今天遇到的每个后端开发人员都会说他们使用JavaScript、Python、PHP或Ruby编写代码。近年来,您会遇到一小部分人转而使用Kotlin作为他们创建Web服务器的语言选择。由于我在学习Ktor,所以本文中的示例将使用Ktor进行说明。为什么选择kotlin?Kotlin是一种多范式编程语言。它支持来自其他各种语言的许多不同语言特性。如果缺少某个功能,在Kotlin中创建包含它的代码并不困难。例如,Haskell——一种纯函数式语言——使用.将两个函数组合在一起。在Kotlin中,您可以编写一个执行确切行为的函数。你可以在这

【译】kotlin 协程官方文档(5)- 异步流

最近一直在了解关于Kotlin协程的知识,那最好的学习资料自然是官方提供的学习文档了,看了看后我就萌生了翻译官方文档的想法。前后花了要接近一个月时间,一共九篇文章,在这里也分享出来,希望对读者有所帮助。个人知识所限,有些翻译得不是太顺畅,也希望读者能提出意见协程官方文档:coroutines-guide挂起函数可以异步返回单个值,但如何返回多个异步计算值呢?这就是kotlinFlows(流)的用处了一、表示多个值可以使用集合在kotlin中表示多个值。例如,有一个函数foo(),它返回包含三个数字的List,然后使用forEach打印它们funfoo():List=listOf(1,2,3)f

Kotlin 集合对象的单条件和多条件排序

原文:Kotlin集合对象的单条件和多条件排序-Stars-One的杂货小窝本文不是太难的东西,因为sortedWith之前没怎么用过,所以就记录下平常开发经常使用到List,Map等数据集合类型,也会经常遇到排序的问题,可以直接使用sortedBy或sortedByDescending排序多条件则是使用sortedWith,具体使用用例看见下文单条件排序方便起见,我们创建一个类Author,用来保存数据dataclassAuthor(valname:String,valage:Int,valheight:Int)valauthorList=listOf(Author("John",30,17

Kotlin协程-那些理不清乱不明的关系

Kotlin的协程自推出以来,受到了越来越多Android开发者的追捧。另一方面由于它庞大的API,也将相当一部分开发者拒之门外。本篇试图从协程的几个重要概念入手,在复杂API中还原出它本来的面目,以全新的角度带读者走进Kotlin协程世界。什么是协程在很多有关协程的文章中,描述协程通常会用这样的一句描述——协程比线程更加轻量,是可取消的。这句话没有错,这两个都是协程的优点,但是并不是特点,它并没有解释协程是什么。那么什么是协程的特点呢,我觉得可以先用线程做个类比,解释一个概念最好的办法就是类比。我不打算使用科学严谨的描述,我想给线程一个我自己的定义——线程是一个可供CPU调度的执行单元,它有

Kotlin 一劳永逸实现 TAG

1TAG经典写法        对于Android开发,当我们需要在类中打印Log时,通常在Java中会这么定义一个TAG:privatestaticfinalStringTAG="TestClass";    或者不具体指定名字:privatestaticfinalStringTAG=TestClass.class.getSimpleName();那么,在Kotlin中        我们通常会这样定义:privatevalTAG=TestClass::class.java.simpleName        或者采用类似于Java的静态方式实现:companionobject{privat

【Kotlin】集合操作总结 ( List 集合 | MutableList 集合 | List 集合遍历 | Set 集合 | MutableSet 集合 | Map 集合 | 可变 Map集合 )

文章目录一、List创建与元素获取二、安全获取集合元素1、getOrElse函数2、getOrNull函数三、List创建与元素获取代码示例四、MutableList可变列表集合五、修改MutableList集合的mutator函数1、添加元素运算符+=和删除元素运算符-=2、通过Lambda表达式筛选要删除的元素六、List集合遍历七、List通过解构一次性给多个元素赋值八、Set集合九、可变Set集合十、List与Set之间相互转换十一、数组类型十二、Map集合十三、获取Map值十四、Map遍历十五、可变Map集合一、List创建与元素获取Kotlin中的集合分为两类,只读集合和可变集合;

2023年月9TIOBE 指数头条:Kotlin 重新进入 TIOBE 指数前 20 名。多家权威机构____编程语言排行榜__薪酬状况

2023年9月多家权威机构____编程语言排行榜__薪酬状况本文目录:一、TIOBE统计数据(2023年9月)(1)2023年9月的编程语言流行度指数排行(2)编程语言多年流行回顾(年度编程语言)二、2023年6月开发者调查统计结果——最流行的技术(2023.6)三、人工智能开发人员工作流程、看法、工具统计数据(2023.6)四、PYPL编程语言流行指数(2023年9月)(1)PYPLIndex(2)10TOPIDE(3)10TOPODE(4)10TOPDB六、DevJobsScanner开发人员就业市场统计数据(2022年6月)5.1Javascript Typescript工作需求占比5.