Kotlin 数据类的扩展函数

Nar*_*ari 0 android kotlin data-class

我有一个看起来像这样的数据类

data class SuggestionResponse(
  val metadata: Metadata,
  val response: Response
)

data class Response(
 ///blah blah
)

data class Metadata(
  val timeleft: String,
  val totalTime: String
)
Run Code Online (Sandbox Code Playgroud)

现在我需要将此数据转换为不同类型的数据对象。我想编写一个扩展函数来完成此任务。让函数的名字是你好

我想像这样调用这个扩展函数

suggestionResponse.hello()

我如何编写扩展功能?。任何帮助将不胜感激

Ser*_*gey 5

只需在SuggestionResponse类上创建一个扩展函数,您就可以访问SuggestionResponse类的属性:

fun SuggestionResponse.hello() { 
    //`metadata` property is available here
    //`response` property is available here
    val time = metadata.timeleft
}
Run Code Online (Sandbox Code Playgroud)

然后你就可以在SuggestionResponse类的实例上调用它:

suggestionResponse.hello()
Run Code Online (Sandbox Code Playgroud)

有关扩展功能的更多信息