Kotlin

6610 ワード

Kotlin


Javaを使用しない


  • valとvarの違い
    val string = "Hello World"
    var varString = "Hello World"
  • nullをちゃんと使って安全?,!
  • val string: String? = null
    string?.length
    string!!.length
  • lateinit,lazy差異
  • lateinit var string: String
    
    val string: String by lazy { 
    	"string"
    }
  • run,apply,let,with,特性と使用目的
  • val string = "Hello World".run { 
                    
    }
    val string = "Hello World".apply {
                    
    }
    val string = "Hello World".let {
                    
    }
    val string = "Hello World".also {
                    
    }
    with(string){
                    
    }
  • 可変およびマルチテーブル差異
  • について
    val numbers = listOf("one", "two", "three", "four")
    val numbers = mutableListOf(1, 2, 3, 4)
  • Kotlin Extension Functions
  • fun String.addAge(age: Int): String {
    	return "$this $age"
    }
  • Higher-order Function
  • fun print(body: (String, String) -> String) {
    	println(body("A", "B"))
    }
    
    fun test() {
    	print({ a, b ->
    		"$a $b"
    	})
    }
  • kotlinの多種類の特性と使用
    (open, abstract, data, inner, sealed)
  • inline、noinline、crossinline、infix用
  • パートナーobject,object差異
  • Coroutines
  • ※Kotlinコードをjavaコードと見なす方法
    AndroidStudio -> Tools -> Kotlin -> Show Kotlin Bytecode -> Decompile