Kotlin: Difference between revisions

From bibbleWiki
Jump to navigation Jump to search
Line 5: Line 5:
* Functional language, high order functions, we can  
* Functional language, high order functions, we can  
* store, pass and return functions
* store, pass and return functions
<syntaxhighlight "kotlin">
<syntaxhighlight "kt">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
     println("Hello World")
     println("Hello World")

Revision as of 04:31, 22 August 2020

Introduction

Kotlin is like java

  • JVM language
  • Object orientated
  • Functional language, high order functions, we can
  • store, pass and return functions
fun main(args: Array<String>) {
    println("Hello World")
}

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
}