2019.10.21
V言語 インスタンスメソッド
V言語 インスタンスメソッド
概要
V言語の構造体には、インスタンスメソッドを定義することができる。
ただし、構造体の内部に定義するのではなく、
追加で後付けする。
フォーマット
fn (第1引数 構造体の名前) 関数名 (残余引数名とそれらの型) 戻り値の型{
処理
}
注意事項
- 第1引数の名前は、構造体名の最初の一文字を小文字にしたもの
fn
キーワードを忘れない- 型指定は省略不可
実例
最初にPerson
構造体を定義したのち、
後付けで、インスタンスメソッドの、
name_with_honorific
を定義している。
main
関数の中で、Person
構造体のインスタンス生成をして、
name_with_honorific
を実際に使用している。
戻り値は、println
関数でコンソール表示している。
struct Person {
name string
}
fn (p Person) name_with_honorific(honorific string) string {
return '${p.name}${honorific}'
}
fn main() {
println(Person{name : 'Suzuki'}.name_with_honorific('san'))
}
実行結果
Suzukisan
と文字列表示されている。