Go の関数とメソッドは、構文 (func キーワード、パラメーター リスト、戻り値) が似ており、セマンティクス (型指定、再利用性、モジュール性) も似ています。具体的には、次のとおりです。 構文的には、 func キーワードを使用して宣言され、パラメーターを受け取り、戻り値を返します。意味的に: すべてのタイプはコードの重複を避けるために再利用可能であり、コードをモジュール構造に整理するのに役立ちます。
Go における関数とメソッドの類似点
Go 言語では、関数とメソッドは似ているように見えますが、微妙な違いがあります。構文とセマンティクスの違い。
構文の類似点:
func
キーワードを使用して宣言されます。 コード例:
// 定义一个函数 func add(a, b int) int { return a + b } // 定义一个方法 type MyType struct { Name string } func (m MyType) Greet() string { return "Hello, " + m.Name }
意味上の類似点:
実際のケース:
関数とメソッドの使用法を示すサンプル プログラムを作成しましょう:
package main import "fmt" // 定义一个函数 func calculateArea(r float64) float64 { return math.Pi * r * r } // 定义一个方法 type Circle struct { Radius float64 } func (c Circle) Area() float64 { return math.Pi * c.Radius * c.Radius } func main() { // 使用函数计算圆的面积 radius := 5.0 area := calculateArea(radius) fmt.Println("Area of circle using function:", area) // 使用方法计算圆的面积 circle := Circle{Radius: 5.0} area = circle.Area() fmt.Println("Area of circle using method:", area) }
出力:
Area of circle using function: 78.53981633974483 Area of circle using method: 78.53981633974483
このサンプル プログラムは、関数とメソッドを使用して円の面積を計算する方法を示します。
以上がgolang の関数とメソッドの類似点は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。