Variable Declaration
Kotlin menggunakan type inference yaitu dimana ketika dia mendeklarasikan variabel tanpa mendefinisikan tipe datanya, compiler akan secara otomatis mendefinisikan tipe datanya berdasarkan value yang di assign. Dan proses ini dilakukan saat compile time dan bukan runtime Kotlin sendiri mendefinisikan tipe data secara statis (Statically typed). Ada 2 cara dalam mendeklarasikan variabel yaitu
Kotlin
Copy
// deklarasi immutable variabel
val number = 10
// deklarasi mutable variabel
var number = 10
Ada 2 cara dalam mendeklarasikan tipe data variabel yaitu
Kotlin
Copy
// deklarasi variabel dengan mengassign value
val number = 10
// deklarasi varaibel dengan mendefinisikan tipe data
val number: Int
Di kotlin variabel sebisa mungkin di buat val, jika dibutuhkan untuk di ubah baru diganti menjadi var.
Type Alias
Kotlin
Copy
class Employee(var name: String, val id : Int)
typealias EmployeeSet = Set<Employee>
fun main(args : Array<String>){
val employees: EmployeeSet
}
Equality
Kotlin
Copy
val employeeOne = Employee("Mary", 1)
val employeeTwo = Employee("John", 2)
val employeeThree = Employee("John", 2)
// reference equality
println(employeeOne === employeeTwo)
println(employeeTwo === employeeThree)
// value equality
println(employeeOne == employeeTwo)
println(employeeTwo == employeeThree)
// not equality
println(employeeTwo != employeeThree)
println(employeeTwo !== employeeThree)
Bits Operator / Operator Gerbang Logika
Kotlin
Copy
val a = true
val b = false
println(a or b)
println(a and b)
println(a xor b)
Smart Casting
Kotlin
Copy
// deklarasi something sebagai any, dimana value nya berasal dari
employee yang bertipe data employee
var something: Any = employeeThree
if (something is Employee) { //pengecekan tipe data something
val newEmployee = something as Employee // smart casting employee
something = employeeOne
println(something.name)
}
String Template
Untuk menulis variabel pada string bisa menggunakan tag $
Kotlin
Copy
val change = 4.22
println("Your change is \$$change")
Kita bisa juga melakukan perhitungan aritmatik saat melakukan print string
Kotlin
Copy
val numerator = 10.99
val denominator = 20.00
println("The value of $numerator divided by $denominator is ${numerator/denominator}")
Untuk mengakses variabel dari sebuah object bisa menggunakan ${}
Kotlin
Copy
println("The employee's id is ${employee1.id}")
Triple Quoted String
Secara default ketika mendefinisikan string symbol seperti \ akan diproses kedalam fungsi tertentu seperti new line (\n) dll. Untuk menhindari hal tersebut kita bisa menggunakan triple quoted string
Kotlin
Copy
val nurseryRhyme = """
$eggName Dumpty sat on the wall
|$eggName Dumpty had a great fall
|All the king's horses and all the king's men
|Couldn't put $eggName together again.
""".trimMargin()
Kotlin REPL (Read Eval Print Loop)
Dia kayak console yang ada di browser. Kita bisa eksekusi code kotlin di REPL ini.
Array
Kotlin
Copy
// deklarasi array
val names = arrayOf("John", "Jane", "Jill", "Joe")
val longs1 = arrayOf(1L, 2L, 3L)
val longs3 = arrayOf(1, 2, 3, 4)