Elixir - 資料型別



使用任何語言都需要了解該語言支援的基本資料型別。本章將討論Elixir語言支援的7種基本資料型別:整數、浮點數、布林值、原子、字串、列表和元組。

數值型別

Elixir,像任何其他程式語言一樣,同時支援整數和浮點數。如果您開啟您的Elixir shell 並輸入任何整數或浮點數作為輸入,它將返回其值。例如:

42

執行上述程式時,會產生以下結果:

42

您還可以使用八進位制、十六進位制和二進位制基數定義數字。

八進位制

要以八進位制基數定義數字,請在其前面加上 '0o'。例如,八進位制的 0o52 等於十進位制的 42。

十六進位制

要以十進位制基數定義數字,請在其前面加上 '0x'。例如,十六進位制的 0xF1 等於十進位制的 241。

二進位制

要以二進位制基數定義數字,請在其前面加上 '0b'。例如,二進位制的 0b1101 等於十進位制的 13。

Elixir 支援 64 位雙精度浮點數。它們也可以使用指數樣式定義。例如,10145230000 可以寫成 1.014523e10。

原子

原子的名稱就是其值。它們可以使用冒號 (:) 符號建立。例如:

:hello

布林值

Elixir 支援 truefalse 作為布林值。這兩個值實際上分別附加到原子 :true 和 :false。

字串

Elixir 中的字串用雙引號括起來,並使用 UTF-8 編碼。它們可以跨越多行幷包含插值。要定義字串,只需用雙引號括起來即可:

"Hello world"

要定義多行字串,我們使用類似於 python 的語法,使用三個雙引號:

"""
Hello
World!
"""

我們將在字串章節中深入學習字串、二進位制和字元列表(類似於字串)。

二進位制

二進位制是用 << >> 括起來的位元組序列,用逗號分隔。例如:

<< 65, 68, 75>>

二進位制主要用於處理位和位元組相關的資料(如有)。預設情況下,它們可以在每個值中儲存 0 到 255。可以使用 size 函式增加此大小限制,該函式指示儲存該值應占用多少位。例如:

<<65, 255, 289::size(15)>>

列表

Elixir 使用方括號指定值列表。值可以是任何型別。例如:

[1, "Hello", :an_atom, true]

列表帶有內建的列表頭和列表尾函式,名為 hd 和 tl,它們分別返回列表的頭和尾。有時,當您建立一個列表時,它將返回一個字元列表。這是因為當 Elixir 看到一個可列印的 ASCII 字元列表時,它會將其列印為字元列表。請注意,字串和字元列表並不相等。我們將在後面的章節中進一步討論列表。

元組

Elixir 使用花括號定義元組。與列表一樣,元組可以容納任何值。

{ 1, "Hello", :an_atom, true 

這裡出現一個問題:當兩者都以相同的方式工作時,為什麼要同時提供列表元組?它們有不同的實現。

  • 列表實際上儲存為連結串列,因此在列表中插入和刪除速度非常快。

  • 另一方面,元組儲存在連續的記憶體塊中,這使得訪問它們的速度更快,但在插入和刪除時會增加額外的成本。

廣告