Kotlin 2.3.0版本现已正式发布,这一语言更新提供了多项新功能,包括未使用返回值检查器和对Java 25的支持。此次发布包含多个实验阶段功能,如值检查器、Swift互操作性,以及显式支持字段的新语法。
JetBrains于12月16日发布了这次语言更新。安装说明可在blog.jetbrains.com找到。这一正式版本是在11月18日发布候选版本之后推出的。
在Kotlin 2.3.0中,新的未使用值检查器有助于防止忽略结果。当表达式返回除Unit或Nothing之外的值且未传递给函数、在条件中检查或以其他方式使用时,它会发出警告。该检查器有助于捕获因函数调用产生有意义结果却被静默丢弃而导致意外行为或难以追踪问题的错误。此功能目前处于实验阶段。
Kotlin 2.3.0中的另一项实验功能通过Swift导出改进了Kotlin与Swift的互操作性,增加了对原生枚举类和可变函数参数的支持。此前,Kotlin枚举被导出为普通的Swift类。现在通过直接映射,开发者可以使用常规的原生Swift枚举。
Kotlin 2.3.0的其他功能包括:
Kotlin编译器现在可以生成包含Java 25字节码的类。
显式支持字段为显式声明保存属性值的底层字段提供了新语法,与现有的隐式支持字段形成对比。
在具有显式返回类型的表达式体中支持return语句现已默认启用。
上下文敏感解析作为实验功能得到了改进。当前类型的密封和封闭超类型现在被视为搜索上下文范围的一部分。不再考虑其他超类型范围。当涉及类型操作符和等式时,如果使用上下文敏感解析导致解析模糊,编译器现在会报告警告。
向Kotlin/Native项目导入C和Objective-C功能的支持已进入测试阶段。
对于Kotlin/Wasm(WebAssembly),Kotlin 2.3.0默认为Kotlin/Wasm目标启用完全限定名,为wasmWasi目标启用新的异常处理提案。它还引入了Latin-1字符的紧凑存储。同时,新的WebAssembly异常处理提案对wasmWasi目标默认启用,确保与现代WebAssembly运行时更好的兼容性。
对于Kotlin/JS,挂起函数现在可以使用@JsExport注解直接导出到JavaScript,BigInt64Array类型现在可以用于表示Kotlin的LongArray类型。这两项都是实验功能。
不再支持Ant构建系统。
Q&A
Q1:Kotlin 2.3.0中的未使用返回值检查器是什么?
A:这是一个新的检查器,用于防止忽略函数调用的返回结果。当表达式返回除Unit或Nothing之外的值且未被使用时会发出警告,帮助开发者捕获因忽略有意义返回值而导致的潜在错误。
Q2:Kotlin 2.3.0对Swift互操作性有什么改进?
A:新版本通过Swift导出功能改进了与Swift的互操作性,增加了对原生枚举类和可变函数参数的支持。现在Kotlin枚举可以直接映射为Swift枚举,而不再导出为普通Swift类。
Q3:Kotlin 2.3.0支持哪些新的编程语言特性?
A:新版本支持Java 25字节码生成、显式支持字段的新语法、表达式体中return语句的默认支持,以及改进的上下文敏感解析功能。对于WebAssembly和JavaScript也有相应的功能增强。
好文章,需要你的鼓励
英国国家医疗服务(NHS)正将无人机纳入常规医疗物流体系。自今年2月起,无人机每天在雷恩斯公园和圣乔治医院之间运送血液等诊断样本,飞行仅需3分钟,比公路运输快约85%,且碳排放减少高达98%。目前已有逾2000名患者受益。NHS计划将该服务扩展至圣赫利尔、克罗伊登等多家医院,最终惠及约180万名患者。该网络由英国医疗初创公司Apian与谷歌旗下Wing合作运营。
AgentLens是Explyt公司联合俄罗斯学术机构开发的AI编程助手评测基准,通过分析完整人机交互轨迹而非仅看最终结果,从五个维度评估代码智能体的真实表现。
边缘AI计算厂商Aetina宣布,将在其DeviceEdge AIE-KT风冷系列和新款AIE-PT无风扇平台上支持英伟达全新Jetson T3000和T2000模块。T3000基于Blackwell GPU,最高提供865 FP4 TFLOPS算力,功耗70W;T2000则提供400 FP4 TFLOPS,面向视觉AI代理和自主移动机器人等场景。两款模块预计2027年第一季度上市,支持Nemotron、Cosmos 3等英伟达AI软件生态。
韩国梨花女子大学提出Splash框架,通过识别AI模型中的"休眠参数"并只在其中训练触觉能力,让小型多模态AI在学会感知材质触感的同时,完整保留原有视觉语言推理能力。