go如何实现接口
package main import "fmt" type Shape interface { Area() float64 } type Circle struct { Radius float64 } func (c Circle) Area() float64 { return 3.14 * c.Radius * c.Radius } func main() { c := Circle{Radius: 6.2} fmt.Println(c.Area()) }
首先我们定义了一个名为
Shape的接口,它只有一个方法Area(),该方法返回一个float64类型的数值,表示形状的面积。接着我们定义了一个
Circle类型,该类型包含一个Radius字段,表示圆形的半径。接着我们为Circle类型实现了Shape接口中的方法Area(),用于计算圆形的面积。
go如何实现继承
package main import "fmt" type Person struct { Name string } func (p Person) SayHello() { fmt.Println("my name is %d",p.Name) } type Student struct { Person Grade int } func main() { s := Student{Person : Person{Name: "lisi"}, Grade : 60} s.SayHello() }
定义了两个结构体类型:
Person和Student。Person结构体只有一个Name属性和一个SayHello()方法,用来打招呼。Student结构体则包含了一个Person属性和一个Grade属性。通过在Student结构体中嵌入Person结构体,我们实现了对Person中字段和方法的继承。然 Go 语言中没有传统意义上的继承机制,但是通过嵌入结构体依然可以实现代码重用和共享的功能。此外,Go 语言中还提供了接口类型和组合类型等特性,用来替代传统继承机制,并实现更灵活、可扩展的代码设计。





















