Найти тему

№195. Godot4. Статическая типизация.

Статья для начинающих.
В ней я постараюсь объяснить , что такое статическая типизация, и для чего это всё нужно.

Для примера возьмем обычную переменную :

Далее в функции ready передадим в эту переменную текст «test» и выведем результат в консоль:

-2

Запустим приложение и не увидим никаких ошибок. Хотя мы только что поменяли один тип данных (цифра) на другой (текст).

Не ругается годо потому, что мы не указывали тип. И при таком раскладе работает так называемая динамическая типизация. Т.е тип определяется динамически в зависимости от ситуации.

И наверное один из самых известных мемов на эту тему:
33+33 = 3333.
Если вы не поняли «где смеяться» - программа рассмотрела наши цифры как строковый тип, и просто сложила две строки.

Для того чтобы программа понимала какого именно типа переменная, мы можем указывать тип сами.

Давайте укажем тип для нашей переменной как Int (целое число) :

-3

Как только мы указали тип годо сразу же отреагировал предупреждением о том, что тут происходит конфликт.
Если же мы проигнорируем и запустим приложение, то оно просто вылетит с ошибкой.

Мы можем не указывать явный тип, и при этом годо сам определит тип при помощи вот такой записи :

-4

Помимо этого мы можем указать возвращаемый тип в функции :

вернется целое число
вернется целое число

Ну или же вот так :

-6

Немного примеров:

-7

Как можно заметить для массивов так же можно указать типы значений.

По итогу - статическая типизация позволяет писать более точный код, и позволяет избегать ошибок в будущем.

***********

Ну и в заключении еще напомню, что статическая типизация так же помогает в автозаполнении предложений. Это когда редактор предлагает вам продолжить код который вы пишите.

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

-8

Но стоит нам указать тип, мы сразу получим соответствующие предложения:

-9

На этом всё.

Ставьте лайк, подписывайтесь на канал, вступайте в группу в ВК, и не забывайте что у нас есть дискорд сервер.
Удачи в изучении годо !

-10