別名 (alias)¶
在 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
請參考型別文法,了解別名型別所使用的符號。