Golang メソッド static
Golang は、簡潔な構文と効率的なプログラミングに重点を置いたプログラミング言語であり、その優れたパフォーマンス、メンテナンスの容易さ、柔軟性により、近年非常に人気のあるプログラミング言語となっています。 。 Golang には静的メソッドと呼ばれる概念があり、この記事ではこれについて詳しく説明します。
静的メソッドの概要
まず、メソッドとは何かを理解する必要があります。 Golang では、メソッドは構造体に関連付けられた関数です。これは構造体のプロパティにアクセスして変更することができ、オブジェクト指向プログラミングの基本概念です。静的メソッドとは、インスタンスに依存しないメソッドを指します。通常、メソッドはインスタンスを通じてのみ呼び出すことができますが、静的メソッドはインスタンスを呼び出す必要がありません。これはクラスレベルの操作であり、クラスがインスタンス化される前に呼び出すことができますが、通常のメソッドはインスタンス化後にのみ呼び出すことができます。
静的メソッドの定義
Golang では、関数名の前に func (t 型) を追加することでメソッドを定義できます。静的メソッドの場合、以下に示すように、関数名とメソッド括弧の前にキーワード static を追加する必要があります。
// 静态方法定义 func static (a int, b int) int { return a + b } // 普通方法定义 func (t Test) add (a int, b int) int { return a + b + t.Field }
上記のコードでは、最初の関数 (static) に static キーワード There があることがわかります。呼び出される前に関連オブジェクトをインスタンス化する必要はありません。 2 番目の関数 (add) は、メソッドを呼び出す前に Test オブジェクトをインスタンス化する必要があります。
静的メソッドの使用
静的メソッドを使用すると、インスタンスに依存しないメソッドを簡単に呼び出すことができます。たとえば、次のシナリオでは static キーワードを使用すると非常に便利です。
package main import ( "fmt" ) type Circle struct { Radius int } // 普通方法 func (c Circle) area() float64 { return 3.14 * float64(c.Radius*c.Radius) } // 静态方法 func staticArea(c Circle) float64 { return 3.14 * float64(c.Radius*c.Radius) } func main() { c := Circle{Radius: 5} // 调用普通方法 fmt.Println("Circle area:", c.area()) // 调用静态方法 fmt.Println("Static circle area:", staticArea(c)) }
上の例では、Circle 構造体を定義し、その共通メソッド領域と静的メソッド staticArea を定義します。 。 main 関数では、Circle インスタンスを作成し、2 つのメソッドをそれぞれ呼び出します。通常のメソッドは呼び出す前に Circle オブジェクトをインスタンス化する必要がありますが、静的メソッドではその必要がないことがわかります。
静的メソッドの長所と短所
静的メソッドの使用には、次の利点があります。
オブジェクトをインスタンス化せずに、クラスのメソッドを直接呼び出すことができます。以上がGolang の静的メソッドの詳細の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。