Учебники

Функциональное программирование — типы данных

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

  • C поддерживает char, int, float, long и т. Д.
  • Python поддерживает String, List, Tuple и т. Д.

В широком смысле, есть три типа типов данных —

  • Основные типы данных — это предопределенные типы данных, которые используются программистом напрямую для хранения только одного значения согласно требованию, то есть целочисленного типа, символьного типа или плавающего типа. Например — int, char, float и т. Д.

  • Производные типы данных. Эти типы данных создаются с использованием встроенного типа данных, который разработан программистом для хранения нескольких значений одного типа в соответствии с их требованиями. Например — массив, указатель, функция, список и т. Д.

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

Основные типы данных — это предопределенные типы данных, которые используются программистом напрямую для хранения только одного значения согласно требованию, то есть целочисленного типа, символьного типа или плавающего типа. Например — int, char, float и т. Д.

Производные типы данных. Эти типы данных создаются с использованием встроенного типа данных, который разработан программистом для хранения нескольких значений одного типа в соответствии с их требованиями. Например — массив, указатель, функция, список и т. Д.

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

Типы данных, поддерживаемые C ++

В следующей таблице перечислены типы данных, поддерживаемые C ++ —

Тип данных Размер Спектр
голец 1 байт От -128 до 127 или от 0 до 255
без знака 1 байт От 0 до 255
подписанный символ 1 байт От -128 до 127
ИНТ 4 байта От -2147483648 до 2147483647
без знака int 4 байта От 0 до 4294967295
подписанный int 4 байта От -2147483648 до 2147483647
короткий int 2 байта От -32768 до 32767
беззнаковый короткий int 2 байта От 0 до 65 535
подписанный короткий int 2 байта От -32768 до 32767
длинный инт 4 байта От -2 147 483 648 до 2 147 483 647
подписанный длинный int 4 байта От -2 147 483 648 до 2 147 483 647
без знака длинный int 4 байта От 0 до 4 294 967 295
поплавок 4 байта +/- 3.4e +/- 38 (~ 7 цифр)
двойной 8 байт +/- 1.7e +/- 308 (~ 15 цифр)
длинный двойной 8 байт +/- 1.7e +/- 308 (~ 15 цифр)

Типы данных, поддерживаемые Java

Следующие типы данных поддерживаются Java —

Тип данных Размер Спектр
байт 1 байт От -128 до 127
голец 2 байта От 0 до 65 536
короткая 2 байта От -32 7688 до 32 767
ИНТ 4 байта От -2 147 483 648 до 2 147 483 647
долго 8 байт От -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807
поплавок 4 байта От -2147483648 до 2147483647
двойной 8 байт + 9,223 * 1018
логический 1 бит Правда или ложь

Типы данных, поддерживаемые Erlang

В этом разделе мы обсудим типы данных, поддерживаемые Erlang, который является функциональным языком программирования.

Число

Erlang поддерживает два типа числовых литералов, то есть целое число и число с плавающей точкой . Посмотрите на следующий пример, который показывает, как добавить два целочисленных значения —

Live Demo

-module(helloworld).
-export([start/0]). 
start() -> 
   io:fwrite("~w",[5+4]). 

Это даст следующий результат —

9

Атом

Атом — это строка, значение которой нельзя изменить. Он должен начинаться со строчной буквы и может содержать любые буквенно-цифровые символы и специальные символы. Когда атом содержит специальные символы, он должен быть заключен в одинарные кавычки (‘). Посмотрите на следующий пример, чтобы лучше понять.

Live Demo

-module(helloworld). 
-export([start/0]). 

start()-> 
   io:fwrite(monday). 

Это даст следующий результат —

monday

Примечание. Попробуйте изменить атом на «понедельник» с большой буквы «М». Программа выдаст ошибку.

логический

Этот тип данных используется для отображения результата как true или false . Посмотрите на следующий пример. Он показывает, как сравнить два целых числа.

Live Demo

-module(helloworld). 
-export([start/0]). 

start() -> 
   io:fwrite(5 =< 9). 

Это даст следующий результат —

true

Битовая строка

Битовая строка используется для хранения области нетипизированной памяти. Посмотрите на следующий пример. Он показывает, как преобразовать 2 бита строки битов в список.

Live Demo

-module(helloworld). 
-export([start/0]). 

start() -> 
   Bin2 = <<15,25>>, 
   P = binary_to_list(Bin2), 
   io:fwrite("~w",[P]). 

Это даст следующий результат —

[15,25]

Кортеж

Кортеж — это составной тип данных, имеющий фиксированное количество терминов. Каждый член кортежа известен как элемент . Количество элементов — это размер кортежа. В следующем примере показано, как определить кортеж из 5 терминов и распечатать его размер.

Live Demo

-module(helloworld).  
-export([start/0]).  

start() ->  
   K = {abc,50,pqr,60,{xyz,75}} ,  
   io:fwrite("~w",[tuple_size(K)]). 

Это даст следующий результат —

5 

карта

Карта — это составной тип данных с переменным количеством ассоциаций ключ-значение. Каждая ассоциация ключ-значение на карте называется парой ассоциации . Ключевые и значимые части пары называются элементами . Количество пар ассоциаций называется размером карты. В следующем примере показано, как определить карту из 3 отображений и вывести ее размер.

Live Demo

-module(helloworld).  
-export([start/0]).  
 
start() ->  
   Map1 = #{name => 'abc',age => 40, gender => 'M'},  
   io:fwrite("~w",[map_size(Map1)]). 

Это даст следующий результат —

3 

Список

Список — это составной тип данных, имеющий переменное количество терминов. Каждый термин в списке называется элементом. Количество элементов называется длиной списка. В следующем примере показано, как определить список из 5 элементов и распечатать его размер.

Live Demo

-module(helloworld).  
-export([start/0]).  

start() ->  
   List1 = [10,15,20,25,30] ,  
   io:fwrite("~w",[length(List1)]). 

Это даст следующий результат —

5 

Примечание. Тип данных ‘String’ не определен в Erlang.