Elixir 定義結構體

2023-12-15 14:50 更新
可以使用defstruct結構定義結構體:
iex> defmodule User do
...>   defstruct name: "John", age: 27
...> end

defstruct中使用的關鍵詞列表定義了結構體領域中的默認值.

結構體會以其定義所處于的模塊來命名.比如上面的例子中,我們定義了一個名為User的結構體.

我們現(xiàn)在可以用與創(chuàng)建映射類似的語法來創(chuàng)建結構體User:

iex> %User{}
%User{age: 27, name: "John"}
iex> %User{name: "Meg"}
%User{age: 27, name: "Meg"}

結構體提供了編譯時確認,也就是只有在?defsturct?中定義了的領域能夠存在于一個結構體中:

iex> %User{oops: :field}
** (CompileError) iex:3: unknown key :oops for struct User


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號