Что предпочтительнее? Почему? в списке введите аннотацию дротика

#dart

Вопрос:

Комментарии:

1. Последнее объективно короче, особенно если вы хотите, чтобы ваша переменная была объявлена с final помощью или const . Первая форма также рискует случайно пропустить тип элемента; List numbers = [1, 2, 3]; объявляется numbers как a List<dynamic> , тогда как это все равно будет List<int> для var numbers = [1, 2, 3]; .

Ответ №1:

Оба заявления здесь делают одно и то же; это просто вопрос предпочтения.

Стоит отметить, что Эффективные рекомендации по дротикам рекомендуют использовать omit_local_variable_types ворс.

Кроме того, также работает следующее:

 var numbers = [1, 2, 3];
 

Технически тип объекта списка определяется типом, указанным в правой части, если он задан (предотвращение вывода типа из используемого типа переменной). Следующий код завершится ошибкой во время выполнения, так как созданный список является List<int> .

 List<num> numbers = <int>[1, 2, 3];
numbers[4] = 4.0;