Elixir的变量


Learn X By Example · Elixir 篇 · Variables in Elixir


在 Elixir 中,变量是隐式定义和使用的。Elixir 使用的是动态类型,这意味着变量类型是在运行时确定的。

defmodule Variables do
  def main do
    # Declares and initializes a variable
    a = "initial"
    IO.puts(a)

    # You can declare multiple variables at once
    b = 1
    c = 2
    IO.puts("#{b} #{c}")

    # Elixir will infer the type of initialized variables
    d = true
    IO.puts(d)

    # Variables declared without a corresponding
    # initialization are nil in Elixir
    e = nil
    IO.puts(e)

    # In Elixir, all variables are reassignable by default
    f = "apple"
    IO.puts(f)
  end
end

Variables.main()

将代码保存为 variables.exs 并使用 elixir 命令运行:

$ elixir variables.exs
initial
1 2
true

apple

在 Elixir 中:

  • 变量使用 = 声明和初始化。
  • 不需要显示声明类型。
  • 变量是动态类型。
  • 未初始化的变量默认是 nil
  • 变量可以重新绑定,除非使用 ^(pin操作符)使其不可变。
  • 没有与 Go 中的 := 等价的语法,因为 Elixir 不要求显示变量声明。

Elixir 使用变量比静态类型语言更灵活,允许快速搭建原型和动态行为。
那么,狗二蛋,代价是什么呢?
代价就是编译时类型检查会牺牲掉一些编译时间。


什么是动态行为?

动态行为是指程序在运行时动态调整其行为的能力,实现方式包括元编程,多态,反射等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值