kotlin的..<运算符
发表于|更新于
|浏览量:
此处果有可乐,我即别无所思。——林语堂
今天升级了kotlin版本1.9.0
发现了个新特性
https://kotlinlang.org/docs/whatsnew19.html#stable-operator-for-open-ended-ranges
这个是用来取代以前的until函数的
1 | fun main() { |
现在:
1 | fun main() { |
这样更直观地知道是从2开始,只要小于10就循环并累加
相关推荐
2025-10-14
ab-download-manager
这是一个最好的时代,这是一个最坏的时代;这是一个智慧的年代,这是一个愚蠢的年代;这是一个信仰的时期,这是一个怀疑的时期;这是一个光明的季节,这是一个黑暗的季节;这是希望之春,这是失望之冬;人们面前应有尽有,人们面前一无所有;人们正踏上天堂之路,人们正走向地狱之门。——狄更斯《双城记》 https://github.com/amir1376/ab-download-manager ab-download-manager:开源多线程下载器的极简与强大 在如今网络资源爆炸的时代,谁还没遇到过“大文件下载速度慢”“下载不稳定断点重下”“批量文件分段管理”的痛苦?如果你正在寻找一个开源、小巧、灵活的下载管理解决方案,不妨关注一下 amir1376/ab-download-manager —— 它可能会让你对“下载”这件事有新的体验! 一、项目简介 项目地址:amir1376/ab-download-manager 一句话描述:一个开源的下载管理器,追求多线程、稳定、可扩展,适合开发者和极客。 主语言:——(需参考源码和 repo 主页) 适用场景:想自定义下载流程...
2023-04-28
mvc导出excel报错No converter
无翼而飞者,声也。——佚名 今天导出excel报错 1No converter for [class org.springframework.core.io.ByteArrayResource] with preset Content-Type 'application/vnd.ms-excel' 代码如下: 123456789@PostMapping("exportSettle")fun export(dto: CommonDTO) { val writer = ExcelUtil.getWriter() writer.writeRow(Maps.of("key", "value"), true) response.addHeader("Content-Disposition", writer.getDisposition("test.xlsx", CharsetUtil.CHARSET_UTF_8)) response.contentTyp...
2022-08-26
kotlin字符串模板
超乎一切之上的一件事,就是保持青春朝气。——莎士比亚 中文文档:https://www.kotlincn.net/docs/reference/basic-syntax.html#using-string-templates 1234567var a = 1// 模板中的简单名称:val s1 = "a is $a" a = 2// 模板中的任意表达式:val s2 = "${s1.replace("is", "was")}, but now is $a" 得到s2结果: a was 1, but now is 2 如果我们需要使用$符号,则可以参考: https://www.kotlincn.net/docs/reference/basic-types.html#%E5%AD%97%E7%AC%A6%E4%B8%B2%E6%A8%A1%E6%9D%BF 使用${'$'} 例如下面的多行文本: 123val price = """...
2022-11-03
kotlin NaN坑
发脾气的人比被发脾气的对象所受的损失更大——霍姆斯 今天发现一个坑,在代码里尝试toBigDecimal抛出了NumberFormatException debug一看,发现值为NaN 在kotlin里,这样的代码会导致NaN 1234val nan = 0.0 / 0.0nan.toBigDecimal() // java.lang.NumberFormatExceptionjava.lang.Double.isNaN(nan) // true 最重要的是NaN,不会通过 安全调用操作符?. 的判断,因为其属于有值 所以上述代码可以改为 12val nan = 0.0 / 0.0nan.takeUnless { it.isNaN() }?.toBigDecimal() // null
2023-04-20
kotlin的KProperty
浪子挥霍的是他的祖业,财迷葬送的却是他自己。——托·富勒 在mp中使用KtQueryWrapper时,需要如下使用: 1KtQueryWrapper(User::class.java).eq(User::name, "sss").eq(User::roleId, "sss2") 这里的User::name是一个KProperty,其文档:https://kotlinlang.org/docs/reflection.html 可以使用KProperty的name属性获取到其属性名 1User::name.name 当然其还有很丰富的其他属性、函数 在项目中使用其,需要先引入kotlin-reflect依赖 1234<dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-reflect</artifactId></dependency>
2022-09-19
操作符重载
游客是你,风景是我,无法避免,让你经过。——《稀客》 中文文档 kotlin里我们可以进行操作符重载,以达到对象+对象、-对象这样的操作: 12345678910111213141516171819// 定义一个类data class Point(val x: Int, val y: Int)// 对其进行操作符重载,让其能够使用-Point()语法operator fun Point.unaryMinus() = Point(-x, -y)val point = Point(10, 20)println(-point) // 输出“Point(x=-10, y=-20)”// 对String进行操作符重载,让其能够使用 +"" 语法operator fun String.unaryPlus() = this + thisprintln(+"x")// 对其进行二元操作符重载,使其可以使用 Point() + Point() 语法operator fun Point.plus(s: Point) = Point(this.x + s....

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog