iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Kotlin 1.4的新特性有哪些
  • 561
分享到

Kotlin 1.4的新特性有哪些

2023-06-16 06:06:47 561人浏览 薄情痞子
摘要

这篇文章主要讲解了“Kotlin 1.4的新特性有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Kotlin 1.4的新特性有哪些”吧!新语言特性Kotlin 1.4 中引入的新语言特性

这篇文章主要讲解了“Kotlin 1.4的新特性有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Kotlin 1.4的新特性有哪些”吧!

新语言特性

Kotlin 1.4 中引入的新语言特性改善了编写 Kotlin 代码的 "人机工程学",例如:

Kotlin 接口的 SAM 转换

过去,只有 Java 编程语言中定义的功能接口 (即只有一个单一抽象方法 - SAM) 受益于 Kotlin 中的速记语法:

executor.execute { println("This is shorthand for passing in a Runnable") }

现在,Kotlin 1.4 可以将 Kotlin 接口标记为功能接口,并通过添加 fun 关键字让它们以类似方式工作:

fun interface TransfORMer<T, U> {    fun transform(x: T): U } val length = Transformer {    x: String -> x.length }

Kotlin 1.4 版本说明页面介绍了有关新语言特性的更多信息,如: 混合命名和位置参数、尾部逗号、可调用引用改进,以及在循环中的 when 内部使用  break和 continue。

  • 版本说明https://kotlinlang.org/docs/reference/whatsnew14.html#mixing-named-and-positional-arguments

显式 API 模式

另外一个新特性是显式 api 模式,面向 Kotlin 的库作者。

该模式强制执行 Kotlin 的某些语言属性,这些属性通常为可选,例如指定可见性修饰符,以及任何公共声明的显式键入,防止设计库的公共 API  时出错。官方文档说明了如何启用显式 API 模式并开始使用这些附加检查。

  • 官方文档: 显式 API  模式Https://kotlinlang.org/docs/reference/whatsnew14.html#explicit-api-mode-for-library-authors

编译器的改进

上述语言特性是 Kotlin 1.4 中密切贴合开发者的一部分改动,其他大部分工作是以提高 Kotlin 编译器的整体质量和性能为主。

现在,所有开发者都可以利用的优势之一是更强大的新类型推断算法  (默认启用),它可以在更多用例中自动推理类型,即使在复杂的场景下也支持智能转换,帮助开发者提高工作效率。

除了类型推断算法,Kotlin 1.4 还为 Kotlin/JVM 和 Kotlin/js 带来了全新的编译器后端 (Alpha 稳定阶段,可选),用  IR 编译器生成代码并用于 Kotlin/Native 后端。

Jetpack Compose 需要 Kotlin/JVM IR 后端。Google 工程师正在与 JetBrains 合作,希望将其打造成默认的 JVM  编译器后端。

因此,即使您当前不使用 Jetpack Compose 进行开发,我们同样建议您尝试全新 alpha 版 Kotlin/JVM  后端,如果在使用中有任何问题和功能请求请提交到问题跟踪器。

  • 问题跟踪器http://kotl.in/issue

在 Gradle 构建脚本中指定额外编译器选项即可启用新的 JVM IR 后端:

kotlinOptions.useIR = true

立即体验 Kotlin 1.4!

项目和 IDE 更新到 Kotlin 1.4 需要完成两个步骤。

首先,确保您使用最新版 Android Studio,以最大限度地提高性能优势以及与最新 Kotlin 插件的兼容性。当与 IDE 版本兼容的  Kotlin 1.4.0 插件可用时,Android Studio 将提示您,或者您也可以转到 Preferences | Plugins  手动触发更新。

  • Android Studiohttps://developer.android.google.cn/studio

启用插件后,您可以更新 build.gradle 脚本中的 Kotlin Gradle 插件版本,将应用项目升级以使用 Kotlin  1.4。根据插件的管理方式,您必须在顶层项目的buildscript 块中更新版本:

  1. buildscript { 

  2.     dependencies { 

  3.         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.0" 

  4.     } 

  5. }

或在模块级别的 build.gradle 文件的 plugins 块中更改版本号:

plugins {     id 'org.jetbrains.kotlin.android' version '1.4.0' }

感谢各位的阅读,以上就是“Kotlin 1.4的新特性有哪些”的内容了,经过本文的学习后,相信大家对Kotlin 1.4的新特性有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Kotlin 1.4的新特性有哪些

本文链接: https://www.lsjlt.com/news/282542.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Kotlin 1.4的新特性有哪些
    这篇文章主要讲解了“Kotlin 1.4的新特性有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Kotlin 1.4的新特性有哪些”吧!新语言特性Kotlin 1.4 中引入的新语言特性...
    99+
    2023-06-16
  • kotlin语法特性有哪些
    这篇文章给大家分享的是有关kotlin语法特性有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 Google I/O 2017 开发者大会中,Google 宣布正式...
    99+
    2024-04-02
  • Laravel10的新特性有哪些
    今天小编给大家分享一下Laravel10的新特性有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Laravel 10现已...
    99+
    2023-07-05
  • es6的新特性有哪些
    es6的新特性有:1、块级作用域,可以在块级作用域中声明变量;2、箭头函数,一种新的函数声明方式;3、解构赋值,一种从数组或对象中提取值并赋值给变量的语;4、默认参数,允许在函数定义时为参数提供默认值;5、扩展运算符,可以将数组或对象展开,...
    99+
    2023-08-04
  • html5的新特性有哪些
    这篇文章主要介绍html5的新特性有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!新增的元素html5新增了一些语义化更好的标签元素。结构元素article元素,表示页面中的一块...
    99+
    2024-04-02
  • HTLM的新特性有哪些
    本篇内容主要讲解“HTLM的新特性有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HTLM的新特性有哪些”吧!1.Flash被HTML5取代Flash绘图 ...
    99+
    2024-04-02
  • Go1.16的新特性有哪些
    本篇内容介绍了“Go1.16的新特性有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前几天 Go 官方正式发布了 1.16 版本。从这个...
    99+
    2023-06-15
  • Python3.9的新特性有哪些
    这篇文章主要讲解了“Python3.9的新特性有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python3.9的新特性有哪些”吧!1. 词典联合运算符这是我最喜欢的功能之一,语法非常优...
    99+
    2023-06-16
  • Kubernetes1.4的新特性有哪些
    这篇文章主要介绍“Kubernetes1.4的新特性有哪些”,在日常操作中,相信很多人在Kubernetes1.4的新特性有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Kubernetes1.4的新特性...
    99+
    2023-06-28
  • spring4的新特性有哪些
    这篇文章给大家介绍spring4的新特性有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。从Spring4开始,Spring以Servlet3为进行开发,如果用Spring MVC 测试框架的话需要指定Servlet...
    99+
    2023-05-31
    spring
  • Java15的新特性有哪些
    本篇内容主要讲解“Java15的新特性有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java15的新特性有哪些”吧!新特性JDK 15 新特性一览表:IDJEPFeature1339Edw...
    99+
    2023-06-16
  • Node18的新特性有哪些
    本篇内容介绍了“Node18的新特性有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 原生支持fe...
    99+
    2024-04-02
  • JDK1.5有哪些新特性
    本篇内容主要讲解“JDK1.5有哪些新特性”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JDK1.5有哪些新特性”吧!  1.泛型(Generic)  C++通过模板技术可以指定集合的元素类型,...
    99+
    2023-06-03
  • css3新特性有哪些
    这篇文章将为大家详细讲解有关css3新特性有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。   CSS3的新特征有:1、圆角效果;2、图形化边界;3、块阴影与文字阴...
    99+
    2024-04-02
  • CSS3有哪些新特性
    这篇文章主要介绍“CSS3有哪些新特性”,在日常操作中,相信很多人在CSS3有哪些新特性问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS3有哪些新特性”的疑惑有所帮助!接...
    99+
    2024-04-02
  • Flex4新特性有哪些
    这篇文章将为大家详细讲解有关Flex4新特性有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Flex4新特性先来看看Flex4的一些消息吧:Flex4.0的代码编号为Spark,其有新的组件和皮肤架构...
    99+
    2023-06-17
  • ECMAScript新特性有哪些
    本篇内容介绍了“ECMAScript新特性有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. Top-level Await在ES20...
    99+
    2023-07-02
  • Kubernetes1.5有哪些新特性
    这篇“Kubernetes1.5有哪些新特性”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Kubernetes1.5有哪些新...
    99+
    2023-06-28
  • Hibernate3有哪些新特性
    小编给大家分享一下Hibernate3有哪些新特性,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Hibernate3新特性Hibernate3在产品的应用性上有了...
    99+
    2023-06-17
  • kubernetes1.4有哪些新特性
    这篇文章主要介绍“kubernetes1.4有哪些新特性”,在日常操作中,相信很多人在kubernetes1.4有哪些新特性问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”kubernetes1.4有哪些新特性...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作