跳至內容

別名 (alias)

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

請參考型別文法,了解別名型別所使用的符號。