Kotlin: Difference between revisions

From bibbleWiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
=Introduction=
Kotlin is like java
* JVM language
* Object orientated
* Functional language, high order functions, we can
* store, pass and return functions
<syntaxghighlight "kotlin">
fun main(args: Array<String>) {
    println("Hello World")
}
</syntaxghighlight>
==Data Class==
==Data Class==
  data class SportsActivity (
  data class SportsActivity (

Revision as of 04:30, 22 August 2020

Introduction

Kotlin is like java

  • JVM language
  • Object orientated
  • Functional language, high order functions, we can
  • store, pass and return functions

<syntaxghighlight "kotlin"> fun main(args: Array<String>) {

   println("Hello World")

}

</syntaxghighlight>

Data Class

data class SportsActivity (
       val totalAveragePaceInMinutesPerKilometre: Double,
       val totalAverageSpeedInKilometresPerHour: Double,
       val totalDurationInSeconds: Int,
       val totalAverageDistanceInMetres: Double, 
       var dateOfActivity: Date
)

Reading and Writing to Gson

Given the following

    var mySportsActivity = SportsActivity(
           0.0,
           0.0,
           0,
           0.0,
           Date())
   val gson = Gson()
   val json = gson.toJson(mySportsActivity)
   var filename = "D:\\IAIN\\Output.json";

You can write to a file with

    FileWriter(filename).use {
       writer ->
       val gson = GsonBuilder().setPrettyPrinting().create()
       gson.toJson(mySportsActivity, writer)
    }

And read it back with

    FileReader("D:\\IAIN\\Output.json").use {
       reader ->
       val gson = GsonBuilder().setPrettyPrinting().create()
       mySportsActivity2 = gson.fromJson(reader,SportsActivity::class.java)
    }

Range For Loop

val myTest = 212
for(i in 0..7)
{
  val myGetValue = IsByteSet(myTest,i)
  val myTest2 = myGetValue
}
Reversed is a bit rubbish but here it is
val myTest = 212
for(i in 7 downTo 0)
{
  val myGetValue = IsByteSet(myTest,i)
  val myTest2 = myGetValue
}