IT入门 > 教程 > Go语言教程 > Go方法 >
  • 认识Go方法 日期:2025-10-26 点击:6958 Go方法

    Go 方法是和特殊类型关联的函数。它能让类型有自己的行为。方法和函数不同在于有接收者。 // 定义一个结构体type Rectangle struct { Width float64 Height float64}// 定义一个方法func (r Rectangle)...

  • Go方法的声明 日期:2025-10-26 点击:4989 Go方法

    声明Go方法时,要指定接收者类型和方法名。接收者可以是值类型或指针类型。 type Circle struct { Radius float64}// 值接收者方法func (c Circle) Circumference() float64 { return 2 * 3.14 * c.Radius}// 指针接...

  • Go方法的使用 日期:2025-10-26 点击:5673 Go方法

    使用Go方法,先创建类型实例,再用实例调用方法。 type Person struct { Name string}func (p Person) SayHello() { println("Hello, " + p.Name)}func main() { person := Person{Name: "John"} person.SayHello() // 输出 Hello, J...

  • 方法的本质 日期:2025-10-26 点击:2671 Go方法

    Go方法本质是特殊的函数,接收者就是隐式参数。它把行为和数据关联。 type Square struct { Side float64}func (s Square) Area() float64 { return s.Side * s.Side}// 等价的函数func AreaOfSquare(s Square) float64...

  • Go语言选择receiver参数类型 日期:2025-10-15 点击:2426 Go方法

    在Go语言里,receiver参数类型有值类型和指针类型。值类型的receiver是对象副本,指针类型则是对象地址。 // 值类型 receiverpackage mainimport "fmt"type Person struct { Name string}func (p Person) SayHell...

  • receiver参数类型对Go方法的影响 日期:2025-10-15 点击:625 Go方法

    值类型receiver不会改变原对象状态,因为是对象副本。指针类型receiver能改变原对象状态,因其是对象地址。 // 值类型 receiver 不改变原对象package mainimport "fmt"type Rectangle struct { Width int...

  • 选择receiver参数类型的原则 日期:2025-10-15 点击:4895 Go方法

    选择receiver参数类型有几个原则。若需修改对象状态,选指针类型。若对象大,用指针类型可避免复制开销。若方法无需修改对象且对象小,用值类型。 // 修改对象状态用指针类型pac...

  • Go语言选择receiver参数类型补充原则 - 值接收者 日期:2025-10-15 点击:1216 Go方法

    在Go语言里,值接收者是常用的接收者类型。当方法不修改接收者状态时,适合用值接收者。 package mainimport "fmt"// 定义一个结构体 type Person struct { Name string Age int}// 值接收者方法func (...

  • Go语言方法集合 日期:2025-10-15 点击:3678 Go方法

    在Go语言里,方法集合指的是类型能调用的所有方法的集合。它对接口实现很重要。 package mainimport "fmt"// 定义结构体type Rectangle struct { width, height float64}// 定义方法func (r Rectangle) Area()...

  • Go语言选择receiver参数类型补充原则 - 指针接收者 日期:2025-10-15 点击:6387 Go方法

    指针接收者可修改接收者状态,当方法需要修改接收者时,应使用指针接收者。 package mainimport "fmt"// 定义一个结构体 type Person struct { Name string Age int}// 指针接收者方法func (p *Person) Inc...