scalabook

Форк
0
/
type-system.md 
44 строки · 2.7 Кб

Система типов

Scala — уникальный язык, поскольку он статически типизирован, но часто кажется гибким и динамичным. Например, благодаря выводу типов можно писать код без явного указания типов переменных:

val a = 1
val b = 2.0
val c = "Hi!"

Это делает код динамически типизированным. А благодаря новым функциям в Scala 3, таким как объединение типов, также можно писать код, подобный следующему, который кратко выражает, какие значения ожидаются в качестве аргументов и какие типы возвращаются:

def isTruthy(a: Boolean | Int | String): Boolean = ???
def dogCatOrWhatever(): Dog | Plant | Car | Sun = ???

Как видно из примера, при использовании объединения типы необязательно должны иметь общую иерархию, и их по-прежнему можно принимать в качестве аргументов или возвращать из метода.

При разработке приложений такие функции, как вывод типов, используются каждый день, а generics - каждую неделю. При чтении Scaladoc для классов и методов, также необходимо иметь некоторое представление о ковариантности. Использование типов может быть относительно простым, а также обеспечивает большую выразительность, гибкость и контроль для разработчиков библиотек.

Преимущества типов

Языки программирования со статической типизацией предлагают ряд преимуществ, в том числе:

  • помощь IDE в обеспечении надежной поддержки
  • устранение многих классов потенциальных ошибок во время компиляции
  • помощь в рефакторинге
  • предоставление надежной документации, которая не может быть нерелевантной, поскольку проверена на тип

Ссылки:

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.