Sep*_*our 3 return function return-type return-value kotlin
我有以下代码:
data class DMSAngle(var degree: Double, var minute: Double, var second: Double)
fun coordinateInverseCalculation(point1: Point3D, point2: Point3D){
val horizontalDistance = sqrt(
(point2.easting - point1.easting).pow(2.0) +
(point2.northing - point1.northing).pow(2.0)
)
val heightDifference = point2.height - point1.height
val slopePercent = (heightDifference / horizontalDistance) * 100
val slopeDistance = sqrt(
(point2.easting - point1.easting).pow(2.0) +
(point2.northing - point1.northing).pow(2.0) +
(point2.height - point1.height).pow(2.0)
)
val point12D = Point(easting = point1.easting, northing = point1.northing)
val point22D = Point(easting = point2.easting, northing = point2.northing)
val g12 = gizement(point12D, point22D)
val g12DMS = decimalDegreesToDMS(g12)
}
Run Code Online (Sandbox Code Playgroud)
我希望从函数返回值horizontalDistance: Double、heightDifference: Double、slopePercent: Double和slopeDistance: Double。g12DMS: DMSAngle我怎样才能做到这一点?
我还需要一份全面的指南,以便了解如何从 Kotlin 中的函数返回多个值(带或不带不同类型)。我读过这方面的内容,也听说过Pair、、、、、、或使用创建数据类返回然后析构的技巧,但似乎其中大多数都是用来返回not的,因为我是Kotlin的Triple初学者,我有点困惑。您能否向我提供有关在 Kotlin 中返回多个值的全面解释,或者向我介绍一本关于此问题的书/任何其他综合文本?Array<Any>Listinterfacesealed classprimitive data typesdata classes
Kotlin 不支持多种返回类型。惯用的方法是声明 aclass或 a data class(我只是编造一个名字,根据需要进行更改):
data class CoordinateInverse(
val horizontalDistance: Double,
val heightDifference: Double,
val slopePercent: Double,
val slopeDistance: Double,
val g12DMS: DMSAngle
)
Run Code Online (Sandbox Code Playgroud)
在你的函数结束时:
return CoordinateInverse(
horizontalDistance,
heightDifference,
slopePercent,
slopeDistance,
g12DMS
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1511 次 |
| 最近记录: |