Skip to content

Instantly share code, notes, and snippets.

@KisaragiEffective
Last active August 13, 2019 06:14
Show Gist options
  • Save KisaragiEffective/39e4863135fec5e1907c8700ed769212 to your computer and use it in GitHub Desktop.
Save KisaragiEffective/39e4863135fec5e1907c8700ed769212 to your computer and use it in GitHub Desktop.
Rust vs Java
  • varargはありません。代わりに、マクロを使ってください。
  • nullはありません。代わりに、Option<E>を使ってください。
  • try-catch-finallyはありません。代わりに、Result<V, E>を使ってください。
  • アノテーションは@で始めず、[]の間に書きます。
  • メソッドはfnで宣言します。
  • raw型はありません。
  • 継承はありません。代わりに、mix-inを使ってください。
  • 配列の境界チェックは添字アクセスでのみ挿入されます。したがって、要素をイテレートするのにindex-forは向いていません。
  • 配列は共変ではありません。
  • JVMでは (当然) 動きません。
    • LLVMで動作し、実行可能ファイルに格納されます。
  • overrideは継承ができないのでありません。
  • インターフェイスはトレイトです。
  • すべてのローカル変数はスタックに配置されます。明示的にヒープに置く場合はBox<T>を使ってください。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment