亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

Erlang 數(shù)據(jù)類型

在任何編程語(yǔ)言中,都需要使用多個(gè)變量來(lái)存儲(chǔ)各種類型的信息。變量只是用來(lái)存儲(chǔ)值的保留內(nèi)存位置。這意味著,當(dāng)您創(chuàng)建一個(gè)變量時(shí),您會(huì)在內(nèi)存中保留一些空間來(lái)存儲(chǔ)與該變量關(guān)聯(lián)的值。

您可能喜歡存儲(chǔ)各種數(shù)據(jù)類型的信息,如字符串、字符、寬字符、整數(shù)、浮點(diǎn)、布爾等。操作系統(tǒng)根據(jù)變量的數(shù)據(jù)類型分配內(nèi)存并決定可以在保留內(nèi)存中存儲(chǔ)的內(nèi)容。

內(nèi)置數(shù)據(jù)類型

Erlang提供了多種內(nèi)置數(shù)據(jù)類型。以下是在Erlang中定義的數(shù)據(jù)類型的列表-

  • Number(數(shù)字)?在Erlang中,有兩種數(shù)字字面量,它們是整數(shù)和浮點(diǎn)數(shù)。

  • Atom原子)?原子是字母,是帶有名稱的常量。如果原子不是以小寫字母開頭,或者包含字母數(shù)字字符,下劃線(_)或@以外的其他字符,則將其括在單引號(hào)(')中。

  • Boolean布爾) ? Erlang中的布爾數(shù)據(jù)類型是兩個(gè)保留的原子:true和false。

  • Bit String (位串)?使用位串存儲(chǔ)未類型的內(nèi)存區(qū)域。

  • Tuple元組)?元組是具有固定數(shù)量項(xiàng)的復(fù)合數(shù)據(jù)類型。元組中的每個(gè)術(shù)語(yǔ)稱為元素。元素的數(shù)量被稱為元組的大小。

  • Map(映射)?映射是具有可變數(shù)量的鍵-值關(guān)聯(lián)的復(fù)合數(shù)據(jù)類型。映射中的每個(gè)鍵值關(guān)聯(lián)都稱為關(guān)聯(lián)對(duì)。該對(duì)中的鍵和值部分稱為元素。關(guān)聯(lián)對(duì)的數(shù)量被稱為映射的大小。

  • List(列表)?列表是具有可變項(xiàng)數(shù)的復(fù)合數(shù)據(jù)類型。列表中的每個(gè)術(shù)語(yǔ)稱為一個(gè)元素。元素的數(shù)量被稱為列表的長(zhǎng)度。

注意?您會(huì)驚訝地發(fā)現(xiàn)在上面列表中的任何地方都看不到String類型。這是因?yàn)闆]有在Erlang中專門定義的字符串?dāng)?shù)據(jù)類型。但是在下一章中,我們將看到如何使用字符串。

以下是如何使用每種數(shù)據(jù)類型的示例。同樣,每種數(shù)據(jù)類型將在隨后的章節(jié)中詳細(xì)討論。這只是為了使您熟悉上述數(shù)據(jù)類型的簡(jiǎn)要說(shuō)明。

數(shù)字

以下程序顯示了如何使用數(shù)字?jǐn)?shù)據(jù)類型的示例。該程序顯示了2個(gè)整數(shù)的加法。

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

start() ->
   io:fwrite("~w",[1+1]).

上面程序的輸出將是

2

原子

原子應(yīng)以小寫字母開頭,并且可以包含小寫和大寫字符,數(shù)字,下劃線(_)和“ at”符號(hào)(@)。我們還可以將原子括在單引號(hào)中。

下面的程序中顯示了如何使用atom數(shù)據(jù)類型的示例。在這個(gè)程序中,我們正在創(chuàng)建一個(gè)名為atom1的原子。

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

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

上面程序的輸出將是

atom1

布爾型

以下程序顯示了如何使用布爾數(shù)據(jù)類型的示例。本示例在2個(gè)整數(shù)之間進(jìn)行比較,并將結(jié)果布爾值輸出到控制臺(tái)。


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

start() ->
   io:fwrite(2 =< 3).

上面程序的輸出將是-

Output

true

位串

以下程序顯示了如何使用位字符串?dāng)?shù)據(jù)類型的示例。該程序定義了一個(gè)由2位組成的位字符串。binary_to_list是用Erlang定義的內(nèi)置函數(shù),其可被用于一個(gè)位串轉(zhuǎn)換成列表。

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

start() ->
   Bin1 = <<10,20>>,
   X = binary_to_list(Bin1),
   io:fwrite("~w",[X]).

上面程序的輸出將是:

[10,20]

元組

以下程序顯示了如何使用Tuple數(shù)據(jù)類型的示例。

在這里,我們定義一個(gè)具有3個(gè)項(xiàng)的元組P。  tuple_size是用Erlang定義的內(nèi)置函數(shù),可用于確定元組的大小。

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

start() -> 
   P = {john,24,{june,25}} , 
   io:fwrite("~w",[tuple_size(P)]).

上面程序的輸出將是-

3

映射

以下程序顯示了如何使用Map數(shù)據(jù)類型的示例。

在這里,我們定義了具有2個(gè)映射的Map M1。  map_size是用Erlang定義的內(nèi)置函數(shù),可用于確定地圖的大小。

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

start() -> 
   M1 = #{name=>john,age=>25}, 
   io:fwrite("~w",[map_size(M1)]).

上面程序的輸出將是

2

列表

以下程序顯示了如何使用List數(shù)據(jù)類型的示例。

在這里,我們定義了一個(gè)List L,它包含3個(gè)項(xiàng)目。用Erlang定義的內(nèi)置 length函數(shù),可用于確定列表的大小。

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

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

上面程序的輸出將是

3