如何以正确的方式定义结构,请查看以下代码片段:
defmodule SapOdataService.Worker do
defstruct uri: "", user: nil, password: nil
我应该将默认值定义为nil还是?
答案 0 :(得分:8)
您有几个选择。
您可以使用nil
显式列出键值对,以获取空白值
defmodule User do
defstruct name: "zero_coding", age: nil
end
您可以传递默认为nil的原子列表:
defmodule User do
defstruct [:name, :age]
end
你可以混合使用以上默认为零的原子列表:
defmodule User do
defstruct [:age, name: "zero_coding"]
end
您还可以强制执行创建结构时必须指定的特定键
defmodule User do
@enforce_keys [:name]
defstruct [:name, :age]
end