Почему Kotlin нужно разработать ключевое слово «также»? - PullRequest
0 голосов
/ 20 сентября 2019

Я думаю, что Код A эквивалентен Код B , я не могу понять, почему Kotlin нужно разработать ключевое слово «также».Это делает программиста головоломкой.

Код A

val list = mutableListOf<Int>().also { 
   it.add(1) 
}

Код B

val list = mutableListOf<Int>().apply { 
   add(1) 
}

1 Ответ

1 голос
/ 20 сентября 2019

also это не ключевое слово, это просто функция.Может быть предпочтительнее apply, например:

  1. Вы хотите использовать текущий this вместо apply параметра получателя:

    val list = mutableListOf<MyClass>().also { 
        add(this) // won't work with apply
    }
    
  2. Вы хотите дать имя параметру:

    mutableListOf<MyClass>().also { list -> ... }
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...