别名¶
在 lib
中的 alias
声明会声明一个 C typedef
lib X
alias MyInt = Int32
end
现在 Int32
和 MyInt
可以互换使用
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
请参考 类型语法 以了解别名类型中使用的符号。