Golang は開発者に広く愛されているプログラミング言語であり、その効率性、シンプルさ、学習と使用の容易さで多くの開発者の支持を集めています。 Golang では、メソッドは構造体型の操作を可能にする関数です。
この記事では、Golang メソッドの使用法をよりよく習得できるように、メソッド定義、呼び出し、配信、インターフェイスなどの詳細を含む Golang メソッドについて紹介します。
1. メソッドの定義
Golang では、メソッドは構造タイプに関連付けられた特別なタイプの関数です。つまり、メソッドの受信側は特定のメソッドを指す必要があります。構造タイプ。メソッド定義の基本的な構文は次のとおりです。
func (r ReceiverType) methodName(parameterList) (resultList) {
// 方法体
}
このうち、ReceiverType は、メソッド レシーバ タイプは、ポインタ タイプを含む任意のタイプにすることができます。ReceiverType がポインタ タイプの場合、メソッドの呼び出し時に自動的に逆参照されます。methodName はメソッドの名前を指します。parameterList は、メソッドによって受け取られたパラメータ リストを指します。 if パラメータを渡す必要がない場合は省略可能; resultList はメソッドの戻り値リストを参照し、戻り値が必要ない場合は省略可能。
たとえば、Print という名前のメソッドを定義できます。このメソッドは、Person 型へのポインタを受け取り、パラメータや戻り値を渡す必要はありません。
type Person struct {
name string age int
}
func (p *person) Print() {
fmt.Printf("Name: %s, Age: %d
", p.name, p.age)
}
上記たとえば、メソッド Print は person 型に属し、そのメソッドは person 型へのポインターにバインドされているため、このメソッドは person 型のインスタンスを通じて呼び出すことができます。
#Golang では、メソッド呼び出しは関数呼び出しと非常によく似ています。関数名の前にレシーバーを追加するだけです。たとえば、Person 型のインスタンスを作成し、出力のために Print メソッドを呼び出すことができます。 func main() {p := &Person{ name: "Tom", age: 18, } p.Print()
p.Print()
p := &Person{ name: "Tom", age: 18, } f(p)
ProcessPerson(PrintPerson)
String() string
return fmt.Sprintf("Name: %s, Age: %d", p.name, p.age)
p := &Person{ name: "Tom", age: 18, } fmt.Println(p)
上記の例では、Person タイプは Stringer インターフェイスを実装し、それを出力用の文字列に変換します。 概要この記事では、Golang メソッドの定義、呼び出し、配信、インターフェイスなどの詳細を紹介し、読者が Golang メソッドの使用方法をより深く理解するのに役立つことを願っています。なお、メソッドを使用する場合は、メソッドの呼び出し方法や受け渡し方法だけでなく、受信者の型やメソッドの定義などにも注意が必要です。これらの詳細をマスターすることによってのみ、Golang メソッドの利点を最大限に活用し、コードの効率と保守性を向上させることができます。
以上がgolangメソッドマニュアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。