当前位置: 首页 > news >正文

衡阳市政府网站建设西安今日头条新闻

衡阳市政府网站建设,西安今日头条新闻,邯郸广告设计招聘,个人 申请域名做网站Kotlin 是后端开发的未来 严格类型、命名参数、多范式语言 您今天遇到的每个后端开发人员都会说他们使用 JavaScript、Python、PHP 或 Ruby 编写代码。近年来,您会遇到一小部分人转而使用 Kotlin 作为他们创建 Web 服务器的语言选择。由于我在学习Ktor,所…

Kotlin 是后端开发的未来

kotlin-logo

严格类型、命名参数、多范式语言
您今天遇到的每个后端开发人员都会说他们使用 JavaScript、Python、PHP 或 Ruby 编写代码。近年来,您会遇到一小部分人转而使用 Kotlin 作为他们创建 Web 服务器的语言选择。由于我在学习Ktor,所以本文中的示例将使用Ktor进行说明。

为什么选择kotlin?

Kotlin 是一种多范式编程语言。它支持来自其他各种语言的许多不同语言特性。如果缺少某个功能,在 Kotlin 中创建包含它的代码并不困难。例如,Haskell——一种纯函数式语言——使用.将两个函数组合在一起。在 Kotlin 中,您可以编写一个执行确切行为的函数。你可以在这里读更多关于它的内容:

将Kotlin函数与函数一起使用
https://medium.com/codex/mix-up-your-kotlin-functions-with-function-composition-c0f635d40c87

协程

协程是轻量级的类似线程的操作,在并发和编写异步代码方面表现良好。与 Java 不同的是,Kotlin 摒弃了多线程的思想,采用了挂起函数和协程的方式。

协同程序的执行速度更快、效率更高。也有可能在同一个线程中执行多个协程。

fun main() = runBlocking { // this: CoroutineScopelaunch { // launch a new coroutine and continuedelay(1000L) // non-blocking delay for 1 second (default time unit is ms)println("World!") // print after delay}print("Hello, ") // main coroutine continues while a previous one is delayed
}

命名参数

在 Kotlin 中,您可以通过使用参数名称及其值来调用函数,而不考虑参数的顺序。这使得代码具有很高的可读性和更易于调试。在函数定义中使用默认参数命名参数需要高度的灵活性。

fun Application.configureRoutes() {routing {route("/greet") {get {call.respondText(text = "Hello, World!",    // <- named parametersstatus = HttpStatusCode.OK)}}}
}

上面显然不是最好的代码,但它展示了命名参数的用法。

扩展函数

您在上面看到的也是扩展函数的示例。

在其他编程语言中,您不能向现有类(这是一个只读文件)添加函数。但是,在 Kotlin 中,您可以定义扩展函数,它们的行为就好像它们是该特定类的成员一样。

fun String.countDigits(): Int {return this.count { it in '0'..'9'}
}fun main() {println("hello1234".countDigits())
}

我无法更改 的定义String,但可以使用用户定义的函数对其进行扩展。

数据类

在处理后端开发时,数据类非常重要。它们(带有列表)很容易序列化为 JSON 数据。数据类用于创建具有原始数据类型的模型对象。当且仅当它们也是数据类(可序列化)时,才可以使用复杂数据类型。

使用数据类的好处是

  • toString自动生成。
  • equals生成比较其属性内容的函数。
  • copy将属性复制到新对象中的内置函数。
class Order(val number: Int,val items: List<String>
)data class OrderData(val number: Int,val items: List<String>
)fun main() {val ord1 = Order(1, listOf("Banana"))val ord2 = Order(1, listOf("Banana"))val ord3 = OrderData(2, listOf("Apple"))val ord4 = OrderData(2, listOf("Apple"))println(ord1) // Order@65b54208println(ord3) // OrderData(number=2, items=[Apple])println(ord1 == ord2) // falseprintln(ord3 == ord4) // trueval ord5 = ord1.copy() // Compilation errorval ord6 = ord3.copy( items = ord3.items + "Orange" // Modifying the items property)println(ord6) // OrderData(number=2, items=[Apple, Orange])
}

请注意我是如何使用命名参数来指定在复制数据类实例时需要更改的属性的。

Kotlin DSL

Kotlin DSL 是 JetBrains 实现的一项出色功能。这使您可以使用 Kotlin 轻松地为任何其他语言创建代码。例如,如果您希望通过传入请求发回 HTML 文件,您可以在 Kotlin 中编写 HTML DSL 代码并返回其字符串表示形式。

导入正确的依赖项后,您可以编写 DSL,如下所示:

fun  main () {val htmlContent = html {head {title { + "This is Kotlin DSL" }style {css( ".color-red" ) {color = "#ff0000"}css( "h1" ) {cursor = "pointer"fontSize = "2.5rem"}}}body {h1 {+ "标题 1 有 2.5rem 大。" }p(className = "color-red"b { + "和粗体" } } } } println(htmlContent) 
}

Kotlin的Build DSL将改变你的编程方式
https://medium.com/codex/kotlins-builder-dsl-will-change-the-way-you-code-931ecd03012d
kotlin dsl

Kotlin 后端库

已经有许多库可供 Kotlin 爱好者使用。最受欢迎的是:

ktor

我上面的一些例子说明了 Ktor 的使用。

Ktor 是一个框架,可以轻松构建连接的应用程序——Web 应用程序、HTTP 服务、移动和浏览器应用程序。现代连接的应用程序需要异步才能为用户提供最佳体验,而 Kotlin 协程提供了很棒的工具来以简单直接的方式做到这一点。

【ktor】https://ktor.io/docs/welcome.html
ktor

http4k

http4k 服务器只是一个常规函数,它被请求调用并返回响应。

https://www.http4k.org/
http4k

Javalin

一个简单的 Java 和 Kotlin 网络框架

https://javalin.io/
在这里插入图片描述

Spring

在您的应用程序中使用 Spring Boot,只需几行代码就可以像老板一样开始构建服务。

https://spring.io/
spring

http://www.hkea.cn/news/852153/

相关文章:

  • 中宣部网站政治建设网站服务器是什么意思
  • 淮安网站定制徐州seo外包公司
  • 嘉兴类网站系统总部网站建设技术解决方案
  • 做网站的教科书外包网络推广公司推广网站
  • 模板名字 wordpress优化大师如何删掉多余的学生
  • 3d网站建设制作百度关键词优化手段
  • 新手做那些网站比较好东莞企业网站排名
  • 欧美风格网站360指数
  • 优秀网站建设公司电话下列哪些店铺适合交换友情链接
  • 58同城乌鲁木齐网站建设重庆网站到首页排名
  • wordpress知言主题山东服务好的seo公司
  • 旅游商务平台网站建设功能需求关键词排名查询官网
  • 做网站要搭建本地服务器么微商引流被加方法精准客源
  • 网站名字要备案吗友情链接怎么弄
  • 江苏网站开发外链网站大全
  • 网站代备案流程图百度关键词优化排名技巧
  • 石狮建设局网站今日头条站长平台
  • 修改公司网站网页站长素材音效
  • 网站速度测速免费访问国外网站的app
  • 常州网站搭建公司宣传推广渠道有哪些
  • 中国建设监理网站广告网络
  • 网站维护费用怎么收路由优化大师官网
  • 如何加入小说网站做打字员合肥网站优化推广方案
  • 网站建设现状关键词在线优化
  • 网站建设就业百度网址导航主页
  • 郑州公司做网站汉狮中囯联通腾迅
  • 专业网上购物平台优化网站的步骤
  • 用web开发一个网站怎么做网站推广优化平台
  • 建设企业网站进去无法显示搜索引擎seo
  • 网站 分辨率百度视频推广