一般社団法人 全国個人事業主支援協会

COLUMN コラム

列挙型(enum)…型が取りうる値をすべて列挙しパターン化することが出来るデータ型。各列挙子へ値を格納できる。例えばIP。
enum IpAddr {
    V4(u8, u8, u8, u8),
    V6(String),
}
let home = IpAddr::V4(127, 0, 0, 1);
let loopback = IpAddr::V6(String::from("::1"));
列挙子へは数値型、文字列、構造体、その他の列挙型などを格納することが出来る。
また、列挙型へもメソッドを定義することが出来る。
impl IpAddr {
    fn route(&self) {
        println!("{:?}", self);
    }
}
fn main() {
    let home = IpAddr::V4(127, 0, 0, 1);
    let loopback = IpAddr::V6(String::from("::1"));
    home.route();
    loopback.route();
}
The following two tabs change content below.

WATANABE REN

千葉県在住のエンジニアです。最近はPythonやってます。

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア