Maps and Structs
Explore the similarities and differences between maps and structs in Elixir, discover how structs are implemented as maps, and understand the use of the @enforce_keys attribute to enforce required fields for safer data handling.
We'll cover the following...
We'll cover the following...
Introduction
The map has rapidly become the go-to data structure for Elixir programmers. For this lesson, we’re going to treat maps and structs as basically the same thing. In iex, we can see that a struct is implemented as a map. Let’s take a peek under the hood by running the following commands in the iex terminal:
Executable
Output
iex(1)> defmodule User do
...(1)> defstruct [:name, :email]
...(1)> end
{:module, User, . . . }
iex(2)> map = %User{}
%User{email: nil, name: ...