どうも、Masakiです。
今回はenumとstructについて紹介したいと思います。
enumはいろんな言語で使われている列挙型で、割と馴染みがあるものだと思います。「struct」だと最近の言語では使われているのは少ないかなって思います。(C言語だと使うのですが……)
enumについて
いろんな言語でも定番のenumについてです。基本的には他の言語と定義や宣言などは同じです。
・main.rsコード
enum Status{ Move, Stop, } fn main() { let status = Status::Move; }
基本的な部分は他の言語と同じではないかなと思います。
struct
RustではPHPやC++などのようにclassというものがないため、structを使って実装を行っていくこともあると思います。そんな初めての方向けに軽く定義と宣言を紹介しておきます。
・main.rsコード
struct StatusParam{ hp: i32, mp: i32, } fn main() { let mut status = StatusParam{hp:1,mp:1}; println!("{}",status.hp); }
宣言と扱い方は上記のコードになります。structの中身の変更の仕方は
status.mp += 1;
これで値を変更できます。
structを使うという部分についてはこれくらいでも十分使っていけるかなと思います。
enumとstructを組み合わせたやり方
enumとstructを組み合わせて使うことも可能です。ひとつの参考までになると幸いです。
・main.rsコード
enum Status{ Stop, Move, } struct StatusParam{ status: Status, } fn main() { let mut status = StatusParam{status:Status::Move}; status.status = Status::Stop; }
こんな感じで使うことができます。structとかを使うとオブジェクト指向にするとメンバー変数に「private」とか「public」とかをつけて書いたりするとお思います。※(そっち方面の紹介は後日やりたいと思います。)
enumとstructはそこまで他の言語と変わった書き方ではないと思うので、難しくはないと思います。今回はこの辺でそれではまた。