Kotlin中这行代码的含义是啥

Posted

技术标签:

【中文标题】Kotlin中这行代码的含义是啥【英文标题】:What is meaning of this line of code in KotlinKotlin中这行代码的含义是什么 【发布时间】:2020-10-02 14:33:54 【问题描述】:

我对这行用 Kotlin 编写的 hello world kotr 代码有点困惑。

fun main(args: Array<String>): Unit = io.ktor.server.netty.EngineMain.main(args)

上面一行的代码在做什么?

完整代码供参考

fun main(args: Array<String>): Unit = io.ktor.server.netty.EngineMain.main(args)

@Suppress("unused") // Referenced in application.conf
@kotlin.jvm.JvmOverloads
fun Application.module(testing: Boolean = false) 
    val client = HttpClient(Apache) 
    

    routing 
        get("/") 
            call.respondText("HELLO WORLD! from KTOR", contentType = ContentType.Text.Plain)
        
     

【问题讨论】:

【参考方案1】:

它正在调用 netty servlet 的主循环,因此它开始处理传入的 http 请求

相当于

fun main(args: Array<String>)
    io.ktor.server.netty.EngineMain.main(args)

或者

import io.ktor.netty.EngineMain
fun main(args: Array<String>)
    EngineMain.main(args)

所以你可以说它从字面上启动服务器,否则它将是你的旧 CLI 程序,带有 main 函数

【讨论】:

以上是关于Kotlin中这行代码的含义是啥的主要内容,如果未能解决你的问题,请参考以下文章

这个 kotlin jetpack compose 代码示例中的“提供”语法是啥?

在 Kotlin 中将一个对象转换为另一个对象的更好方法是啥?

Kotlin:“return@”是啥意思?

Ktor 多平台 - 在 kotlin 中用于 iOS 的 SSL 固定

“.()”在 Kotlin 中是啥意思?

Kotlin 中的@Named 是啥?