Method Syntax
https://doc.rust-lang.org/book/method-syntax.html
Go言語のように、( struct
)型に対してメソッドを定義する方式のようだ。
struct Circle { x: f64, y: f64, radius: f64, } impl Circle { fn area(&self) -> f64 { std::f64::consts::PI * (self.radius * self.radius) } }
impl
は同じ型に対して複数回使える。
impl Circle { fn area(&self) -> f64 { std::f64::consts::PI * (self.radius * self.radius) } } impl Circle { fn grow(&self, increment: f64) -> Circle { Circle { x: self.x, y: self.y, radius: self.radius + increment } } }