Go
投稿日

【Go】メソッド

メソッドは関数と似ていますが、メソッドにはレシーバを指定する必要があります。

レシーバ

レシーバはメソッドと紐づける為に指定する型です。

func (レシーバ) メソッド名() 戻り値 {}

メソッドの例

構造体(myStruct)をレシーバに指定する事で、introduction メソッドは myStruct 専用のメソッドになります。
レシーバは、「レシーバ名 型」の順で指定し、レシーバ名は一文字で表す事が恒例のようです。

package main

import (
	"fmt"
)

// 構造体定義
type myStruct struct {
	name string
}

// メソット定義
func (m myStruct) introduction() string {
	return fmt.Sprintf("名前は %s です。", m.name)
}

func main() {
	m := myStruct{}
	m.name = "sample_name"
	fmt.Println(m.introduction()) // 名前は sample_name です。 が表示される。
}

コメントを残す

メールアドレスが公開されることはありません。

© DeNnie.Lab All Rights Reserved.