Elixir - 變數



變數為我們提供了程式可以操作的命名儲存。Elixir 中的每個變數都具有特定的型別,該型別決定了變數記憶體的大小和佈局;可以儲存在該記憶體中的值的範圍;以及可以應用於變數的操作集。

變數型別

Elixir 支援以下基本型別的變數。

整數

這些用於整數。在 32 位架構上大小為 32 位,在 64 位架構上大小為 64 位。Elixir 中的整數始終是有符號的。如果整數的大小開始超過其限制,Elixir 會將其轉換為大整數,大整數在記憶體中佔用 3 到 n 個字的範圍,無論哪個可以容納它。

浮點數

浮點數在 Elixir 中具有 64 位精度。它們在記憶體方面也類似於整數。定義浮點數時,可以使用指數表示法。

布林值

它們可以取兩個值,即真或假。

字串

字串在 Elixir 中使用 utf-8 編碼。它們有一個字串模組,為程式設計師提供了許多操作字串的功能。

匿名函式/Lambda 表示式

這些是可以定義並分配給變數的函式,然後可以使用該變數來呼叫此函式。

集合

Elixir 中提供了許多集合型別。其中一些是列表、元組、對映、二進位制等。這些將在後續章節中討論。

變數宣告

變數宣告告訴直譯器在哪裡以及如何建立變數的儲存空間。Elixir 不允許我們只宣告一個變數。變數必須同時宣告和賦值。例如,要建立一個名為 life 的變數並將其賦值為 42,我們執行以下操作:

life = 42

這將繫結變數 life 到值 42。如果我們想重新分配此變數一個新值,我們可以使用與上面相同的語法,即:

life = "Hello world"

變數命名

變數命名遵循 Elixir 中的snake_case 約定,即所有變數必須以小寫字母開頭,後跟 0 個或多個字母(大小寫均可),最後可選地後跟 '?' 或 '!'。

變數名也可以以下劃線開頭,但僅在忽略變數時才使用,即該變數不會再次使用,但需要將其分配給某些內容。

列印變數

在互動式 Shell 中,如果只輸入變數名,則會列印變數。例如,如果建立一個變數:

life = 42 

並在 Shell 中輸入 'life',則輸出為:

42

但是,如果要將變數輸出到控制檯(從檔案執行外部指令碼時),則需要將變數作為輸入提供給IO.puts 函式:

life = 42  
IO.puts life 

life = 42 
IO.puts(life) 

這將給出以下輸出:

42
廣告