登录社区云,与社区用户共同成长
邀请您加入社区
定义此功能的标准,只要是符合typeC接口的充电器就能充电,否则就无法充电,接口标准必须是Type-C。2.描述 红色的TypeC手机充电器,(符合手机充电接口标准规范 InterfacePhone)3.描述 蓝色的TypeC手机充电器,(符合手机充电接口标准规范 InterfacePhone)4.描述 黑色的TypeC手机充电器,(符合手机充电接口标准规范 InterfacePhone)prin
Kotlin 是一种新的编程语言,由 JetBrains 创建并于 2017 年 1 月发布。Kotlin 旨在比 Java 等其他语言更简洁、高效和现代。Kotlin 与 Java 的互操作性意味着它可以用于现有的 Java 项目,几乎不需要修改。此外,Kotlin 提供了一些独特的功能,使其成为 Android 开发的理想选择。...
大家好,我是青空。 最近一段时间在梳理kotlin的一些基本概念知识点,整理了一系列的思维导图。今天我们来看看kotlin出语法的思维导图吧。首先我们有个共识,kotlin 文件以 .kt 为后缀,就像Java所有的文件都是以.java 为后缀。包声明kotlin的 package 声明与Java是一直的,都是在开头使用了 package 关键词。package com.exampleimport
一、apply 标准库函数二、let 标准库函数
最简单的挂起函数原理解析
原生开发套件 (NDK) 是一套工具,使您能够在 Android 应用中使用 C 和 C++ 代码,并提供众多平台库,您可使用这些平台库管理原生 activity 和访问实体设备组件,例如传感器和触控输入。NDK 可能不适合大多数 Android 编程初学者,这些初学者只需使用 Java 代码和框架 API 开发应用
----- Oracle中文开发者社区 ------如果你想要学习编程,关注本博客,持续获得技术支持,持续获得技术咨询。
一、背压概念、二、使用缓冲处理背压问题、三、使用 flowOn 处理背压问题、四、从提高收集元素效率方向解决背压问题、1、Flow#conflate 代码示例、2、Flow#collectLatest 代码示例、
延迟初始化和密封类本节的 Kotlin 课堂,我们就来学习延迟初始化和密封类这两部分内容。对变量延长初始化前面我们已经学习了 Kotlin 语言的许多特性,包括变量不可变,变量不可为空,等等。这些特性都是为了尽可能地保证程序安全而设计的,但是有些时候这些特性也会在编码时给我们带来不少的麻烦。比如,如果你的类中存在很多全局变量实例,为了保证它们能够满足 Kotlin 的空指针检查语法标准,你不得不做
变量关键字:字符串模板:kotlin: "这是一个字符串${插值}"swift:"这是一个字符串\(插值)"创建数组:3、arrayOfNulls(3)长度为3 类型为T 默认元素为null的数组4、emptyArray() 长度为0 类型为T 的空数组上面4种都是得到的Array类实例,除此外还有ByteArrayCharArrayShortArrayIntArrayLongArrayFloat
业务层统一:核心逻辑单次开发,双平台复用维护成本降级:修改一处代码,同步更新两端性能无损:编译为原生机器码,无虚拟机开销Ktor(网络) +SQLDelight(数据库) +(数据解析)
```coroutineScope 实现结构化并发。async 时CoroutineScope 的扩展函数,因此可以直接用coroutineScope 抽取。fun main() = runBlocking {val time = measureTimeMillis {println("The answer is ${concurrentSum()}")}println("Completed in
Kotlin 的协程是轻量级线程,是 Android 异步代码的核心。更安全的 Null Safety更简洁的语法扩展函数/data class/密封类 等专为业务逻辑建模打造多范式(OOP + FP)混合最强异步模型:协程。
kotlin 委托详解
1.超类(Any)在Kotlin中,所有的类都继承于Any类,如果没有显示声明父类就默认继承自Any。class Person// Person默认继承自AnyAny这个类给我们提供了equals()、hashCode()、toString()这三个方法,如下:public open class Any {public open operator fun equals(other: Any?):
kotlin简易微信实现
AlertDialog弹出对话框import android.os.Bundleimport android.view.Viewimport androidx.appcompat.app.AlertDialogimport androidx.appcompat.app.AppCompatActivityimport kotlinx.android.synthetic.main.activity_m
【2023】Kotlin教程 第三篇 Kotlin进阶 第22章网络编程 22.3 UDP Socket低层次网络编程 22.3.1 DatagramSocket类
var dog1 = Dog(“小白”, “纯白色”)println(“狗狗的颜色是:${color}”)ar dog2 = Dog(“小黑”, “黑色”)Dog(“参数1”, “参数2”)Dog(“参数1”, “参数2”)Dog(“参数1”, “参数2”)Dog(“参数1”, “参数2”)Dog(“参数1”, “参数2”)Dog(“参数1”, “参数2”)Dog(“参数1”, “参数2”)Dog
1、设置控件高宽topBg.layoutParams.height=130//重新设置背景框高度topBg.layoutParams.width=130//重新设置背景框宽度注意:topBg是控件的id,此时130的单位是px。2、用Kotlin编写单位转换的方法//根据手机的分辨率从 dp 的单位 转成为 px(像素)fun dip2px(context: Context, dpValue: I
除了标准库提供的委托,还可以自定义委托类,实现更灵活的逻辑(如协程安全的延迟初始化、数据库存储委托等)。类委托:将接口中包含 suspend 函数的实现委托给其他类,简化代码复用(如代理网络请求、异步任务)。lazy委托:延迟初始化协程中需要的资源(注意线程安全,复杂场景需自定义协程安全委托)。observable委托:监听属性变化时,通过启动协程处理异步逻辑(如网络请求、数据库更新)。自定义委托
函数的挂起挂起函数使用suspend关键字修饰的函数叫挂起函数,只能在协程体内或者挂起函数内调用。Kotlin一般函数分为两种:普通函数和挂起函数。挂起函数可以调用任何函数,但是普通函数只能调用普通函数/*** 同步返回* @return synchronous return* */suspend fun suspendFunc01(a: Int) {return}/*** 异步返回*@retur
前言尾调用一个函数内最后一个动作是调用函数的情形(即这个调用的返回值直接被当前函数返回的情形)fun shape(x: Int): Int {return rect(x)}尾递归尾调用在尾部位置调用函数本身的情形。尾递归属于递归的一种特殊情形。尾调用不一定是递归调用,但是尾递归特别有用,也比较容易实现。fun shape(x: Int): Int {return shape(x-1)}尾递归在普通
简介Kotlin是一门静态语言,支持多种平台,包括移动端、服务端以及浏览器端,此外,Kotlin还是一门融合了面向对象与函数式编程的语言,支持泛型、安全的空判断,并且Kotlin与Java可以做到完全的交互。Kotlin特点代码量少且代码末尾没有分号。被调用的方法需放到上边。Kotlin是空安全的:在编译时期就处理了各种null的情况,避免了执行时异常。它可扩展函数:我们也...
在People类的定义头中定义一个主构造函数,使用临时变量为Player的各个属性提供初始值,在Kotlin中,为了便于识别临时变量通常都会以。延迟初始化并不是初始化的唯一方式,你也可以暂时不初始化某个变量,知道首次使用它,叫做惰性初始化。定义构造函数时,可以给构造函数指定默认值,如果用户调用时不提供值参,就是用这个默认值。初始化块可以设置变量或值,以及执行有效性检查,如检查传给某构造函数的值是否
大家好,本篇文章仍然聊聊kotlin官方做的一些优化工作,主要包括以下三个方面:数据对象data object的支持@Repeatable注解的优化接下来就带大家介绍下上面三个特性。作者:长安皈故里链接:https://juejin.cn/post/7248249730478784569一. 数据对象data object的支持 该特性由kotlin1.7.20插件版本提供,并处于实验阶段。这个.
在 Kotlin 中,成员变量(属性)是类的核心组成部分。Kotlin 提供了 `var`、`val`、`lateinit`、`by lazy` 等关键字,以及自定义 `getter` 和 `setter`,帮助开发者更灵活地管理对象的状态。这篇文章将深入介绍这些概念,并给出适用场景和最佳实践。
Lambda可理解为一段代码块,{ }包围,可当做值进行传递,lambda是未声明的函数,以表达式的形式传递val sum = {num1: Int, num2: Int -> num1 + num2}-> 前为参数列表,-> 后为要执行的函数体。参数需指定参数类型,若可以推断出类型,可以省略。val sum2: (x: Int, y: Int) -> Int = { nu
Stack 是一个用于层叠布局的组件,允许多个子组件按照 Z 轴(深度方向)进行排列。Stack 适用于构建重叠 UI,如头像叠加、卡片阴影、引导页等。本文将介绍 Stack 的基本用法、主要属性及常见的自定义技巧。
Android kotlin 面试题及解析Kotlin 已经成为 Android 开发的首选语言,面试时可能会涉及 Kotlin 的特性、协程、数据类等核心内容。
整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)9 月TIOBE 编程语言榜单已最新出炉,快来看看这个月有什么最新变化吧!Kotlin 重新“杀回” Top 20!上个月,Julia 历史首次冲进Top 20 榜单,并得到了 TIOBE 首席执行官 Paul Jansen 的期许:对于 Julia 之后是否能保持并提高自己的排名,十分令人期待——然而这个月,Julia 的这个位置就..
包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。节省大家在网上搜索资料的时间来学习,也可以分享
public final class LoginResult { 对应变量 get set方法等}2.2 open class kotlin调用 ,open表示可继承。kotlin 调用对应java实现。--------- java实现。----------java实现。----------java实现。----------java实现。----------java实现。----------jav
使用Kotlin完成简易版MVP登录功能,涉及到泛型的限定,Base类的封装,还有MVP的分层,如有错误请大佬在评论区指出,XDM一键三连!
本篇博客主要介绍了接口内的成员、接口的定义与实现、接口的继承、以及接口实现时的覆盖冲突问题,最后介绍了函数式接口的SAM转换以及类型别名的使用
协程是什么?协程并不是一个新的概念,它并不是 Kotlin 发明的。它们已经存在了几十年,并且在 Go 等其他一些编程语言中很受欢迎。协程(英语:coroutine)是计算机程序的一类组件,推广了协作式多任务的子程序,允许执行被挂起与被恢复。相对子例程而言,协程更为一般和灵活,但在实践中使用没有子例程那样广泛。协程更适合于用来实现彼此熟悉的程序组件,如协作式多任务...
kotlin 完全兼容 java,可以和java互相调用,2017年谷歌正式将其作为android开发的第一语言。kotlin编译后产生与java编译后相同的class字节码文件。可以看出kotlin与java的区别,结尾不需要;kotlin 定义变量 使用val,var。val 可以看做java中的final不可修改。kotlin与其他高级语言一样,可以类型推导。for循环kotlin中舍弃了f
协程概念、原理等等协程的概念协程(英语:coroutine)是计算机程序的一类组件,推广了***协作式***多任务的子程序,允许执行被挂起与被恢复。英文co-routine,co协作,routine例程(计算机子程序的别称)协作式多任务(Cooperative Multitasking),是一种多任务方式,多任务是使电脑能同时处理多个程序的技术,相对于抢占式多任务(Preemptive multi
Kotlin协程中的suspend函数允许非阻塞式暂停与恢复执行,必须在协程或suspend函数内调用。关键点包括:使用Dispatchers指定线程类型(IO/Default/Main),避免阻塞操作;通过coroutineScope/supervisorScope管理结构化并发;正确处理取消与异常;区分launch(无返回值)、async(需await)和runBlocking(测试用)的使用
语法规则"hello, ${object.name}. nice to meet you!"Kotlin允许我们在字符串内嵌入${}语法结构的表达式,并在运行时使用表达式的执行结果代替这一部分。当表达式内仅有一个变量时,还可以将两边的大括号省略,类似于PHP语法:"hello, $name. nice to meet you!"这种写法相比于+会方便很多。例如我们以前写过的:val Brand =
运算符的重载是一个十分方便的特性,它让代码看起来更加的直观,写起来也更加的方便。在学C++的时候就十分喜欢这一语言特性。然而Java却对这一点没有任何的支持。现在同样作为JVM语言的Kotlin加入了运算符重载这一语言特性。接下来让我们看看,在Kotlin中究竟有哪些运算符可以重载呢?一元运算符
外链图片转存中…(img-XsUTAC4C-1712653861059)][外链图片转存中…(img-rsOfP6Mk-1712653861059)]
1、空安全Kotlin 中包含可空类型(Nullable types)和不可空类型(Non-Null Types),任何复杂类型都包括可空类型和不可空类型,例如下面的 String 类型:fun main() {var name: String? // 可空类型var name2: String // 不可空类型}类型后面加上? 则表示可空类型,否则是不可空类型。对于不可空类型不能将 null 赋
马爸爸总结了一句话:跳槽,要么是钱不到位,要么是受了委屈。我给自己这次的跳槽经历做了一个分析,希望能对那些想换工作的朋友有所帮助。许多朋友想换工作,但是对“换工作”的理解可能仅限于写简历、投简历、面试。在跳槽之前,我也是这么想的。当时,工作并不顺利,我的专业技能并没有很好的发挥,公司也给不了什么发展前景,就有了跳槽的打算。我看到一家行业内还不错的上市公司在招聘这个岗位,于是我发了简历。面试后我感觉
2021.8.26带有主观性,理性观看,客观评价WARNING:本文章适合了解一点协变和逆变但又不完全懂的人看一看泛型协变:如果定义了一个MyClass< T >的泛型类,其中A是B的子类型,同时MyClass< A >又是MyClass< B >的子类型,那么就可以称MyClass在T这个泛型上是协变的错误写法:open class Dad()class So
本文介绍了如何在Kotlin Multiplatform项目中实现斐波那契数列生成工具。通过动态规划算法高效生成数列,并实现数列统计(求和、均值、极值)、数字性质检测(奇偶性、完全平方数、质数)等功能。代码展示了Kotlin的简洁特性,包括输入验证、算法优化和结果格式化。该工具支持生成1-50项的数列,采用动态规划优化性能,并简化显示前10项结果,体现了Kotlin在算法处理和跨平台开发中的优势。
关注我的公众号 “安安安安卓” 学习更多知识上下文协程总是运行在一些以 CoroutineContext 类型为代表的上下文中调度器协程上下文包含一个 协程调度器 (参见 CoroutineDispatcher)它确定了相关的协程在哪个线程或哪些线程上执行。协程调度器可以将协程限制在一个特定的线程执行,或将它分派到一个线程池,亦或是让它不受限地运行。所有的协程构建器诸如 launch 和 asyn
kotlin
——kotlin
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net