やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

Rustの構造体(メソッド)

 クラスっぽい。

成果物

参照

impl

 implimplementationの略で「実装」の意。

 構造体, enum, トレイトオブジェクトの文脈で使えるらしい。

メソッド

impl 構造体名 {
    fn 関数名(&self) { ... }
}

 selfは対象とする構造体のこと。&mutなどの役割は関数と同じ。

引数 所有権 (可 不)変
self 奪う(ムーブ)
&self 奪わない(参照(借用))
mut self 奪う(ムーブ)
&mut self 奪わない(参照(借用))

関連関数

 第一引数がselfでないものは「関連関数」になる。

impl 構造体名 {
    fn 関数名(param: u32) { ... }
}

 C#でいうクラスメソッドみたいなもの?

対象環境

$ uname -a
Linux raspberrypi 4.19.42-v7+ #1219 SMP Tue May 14 21:20:58 BST 2019 armv7l GNU/Linux

前回まで