IT入门 > 教程 > Go语言教程 >
  • 方法的本质 日期: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...

  • 为什么要有方法集合 日期:2025-10-15 点击:1374 Go方法

    方法集合存在有重要意义。它能让代码更清晰,通过将相关方法组织在一起,方便维护。 package mainimport "fmt"// 定义结构体type Circle struct { radius float64}// 定义方法func (c Circle) Circumference...

  • 方法集合的定义 日期:2025-10-15 点击:3125 Go方法

    方法集合的定义就是确定一个类型能调用哪些方法。它基于类型来定义。 package mainimport "fmt"// 定义结构体type Square struct { side float64}// 定义方法func (s Square) Perimeter() float64 { return 4 * s.s...

  • GO语言类型嵌入模拟“实现继承” - 基本概念 日期:2025-10-15 点击:3634 Go方法

    在Go语言里,虽无传统继承机制,但可通过类型嵌入模拟“实现继承”。类型嵌入指在一个结构体中嵌入另一个结构体类型。 // 定义一个基础结构体 type Animal struct { Name string } // 定义一...