V言語 インスタンスメソッド


V言語 インスタンスメソッド

概要

V言語の構造体には、インスタンスメソッドを定義することができる。
ただし、構造体の内部に定義するのではなく、
追加で後付けする。

フォーマット

fn (第1引数 構造体の名前) 関数名 (残余引数名とそれらの型) 戻り値の型{
    処理
}

注意事項

  1. 第1引数の名前は、構造体名の最初の一文字を小文字にしたもの
  2. fnキーワードを忘れない
  3. 型指定は省略不可

実例

最初に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と文字列表示されている。

参照

  1. V言語公式リポジトリ
  2. V言語公式ドキュメント
  3. V言語変更履歴
  • このエントリーをはてなブックマークに追加

PAGE TOP