강의에서 Scope Function이란 내용을 공부했다. 지금까지 내 개발 방식은 기능만 되게 하는 수준이 다였지만 취업을 하게되고 여러 사람들과 일을 하게 되면 다같이 쉽게 알아볼 수 있는 코드를 짜야한다고 생각이 들어 오늘 가독성 높은 코드를 짤 수 있게 Scope Function을 자세히 알아보겠다.
class Person (var name: String, var age: Int)
fun main() {
val person = Person("홍길동", 30)
//this로 참조
person.run {
println("이름 : ${name}") //this.name과 동일
}
//it로 참조
person.let {
println("이름 : ${it.name}")
}
}
val adam = Person("Adam").apply {
age = 32
city = "London"
}
println(adam)
val numbers = mutableListOf("one", "two", "three")
numbers
.also { println("The list elements before adding new one: $it") }
.add("four")
webView.settings.javaScriptEnabled = true
webView.settings.domStorageEnabled = true
webView.settings.userAgentString = “mobile_app_webview”
with(webView.settings){
javaScriptEnabled = true
domStorageEnabled = true
userAgentString = “mobile_app_webview”
webview
}
val len = text?.let {
println("get length of $it")
it.length
} ?: 0
private fun performRunOperation() {
Person().run {
name = "Asdf"
contactNumber = "0987654321"
return@run "The details of the Person is: ${displayInfo()}"
}
}