Go 関数とメソッドの違いは、関数はパッケージの外部で定義され、レシーバーを受け取らないのに対し、メソッドは型内で定義され、最初のパラメーターとして型レシーバーを受け取ることです。
#Go 関数とメソッドを区別するにはどうすればよいですか?
Go 言語では、関数とメソッドは似ていますが、それらの間には本質的な違いがあります。
Function
func Greet(name string) string { return "Hello, " + name + "!" }
Method
type Person struct { Name string } func (p Person) Greet() string { return "Hello, " + p.Name + "!" }
実用的なケース
次のコードは、関数とメソッドの違いを示しています:
package main import "fmt" func main() { // 调用函数 greeting1 := Greet("Alice") fmt.Println(greeting1) // 输出:Hello, Alice! // 实例化类型并调用方法 alice := Person{Name: "Alice"} greeting2 := alice.Greet() fmt.Println(greeting2) // 输出:Hello, Alice! } func Greet(name string) string { return "Hello, " + name + "!" } type Person struct { Name string } func (p Person) Greet() string { return "Hello, " + p.Name + "!" }
以上がgolang の関数とメソッドを区別するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。