跳至内容

别名

lib 中的 alias 声明会声明一个 C typedef

lib X
  alias MyInt = Int32
end

现在 Int32MyInt 可以互换使用

lib X
  alias MyInt = Int32

  fun some_fun(value : MyInt)
end

X.some_fun 1 # OK

alias 最有用之处在于避免一遍又一遍地写长类型,还可以根据编译时标志声明类型

lib C
  {% if flag?(:x86_64) %}
    alias SizeT = Int64
  {% else %}
    alias SizeT = Int32
  {% end %}

  fun memcmp(p1 : Void*, p2 : Void*, size : C::SizeT) : Int32
end

请参考 类型语法 以了解别名类型中使用的符号。