golang中并没有继承以及oop,但是我们可以通过struct嵌套来完成这个操作。文章来源:https://www.toymoban.com/news/detail-669278.html
- 定义struct
以下定义了一个Person结构体,这个结构体有Eat方法以及三个属性
type Person struct {
Name string
Age uint16
Phone string
}
func (recv *Person) Eat() {
fmt.Printf("recv.Name: %v 正在吃饭\n", recv.Name)
}
- 定义嵌套struct
type Chinese struct {
Person
DangYuan bool
}
func (recv *Chinese) Jubao() {
if recv.DangYuan == true {
fmt.Printf("\"你可以举报\": %v\n", "你可以举报")
} else {
fmt.Printf("\"你不可以举报\": %v\n", "你不可以举报")
}
}
如上,Chinese嵌套了Person,所以Chinese也有Person的属性,以及方法
3. main.go文章来源地址https://www.toymoban.com/news/detail-669278.html
package main
import "fmt"
type Person struct {
Name string
Age uint16
Phone string
}
func (recv *Person) Eat() {
fmt.Printf("recv.Name: %v 正在吃饭\n", recv.Name)
}
type Chinese struct {
Person
DangYuan bool
}
func (recv *Chinese) Jubao() {
if recv.DangYuan == true {
fmt.Printf("\"你可以举报\": %v\n", "你可以举报")
} else {
fmt.Printf("\"你不可以举报\": %v\n", "你不可以举报")
}
}
func main() {
chinese := Chinese{Person{Age: 100, Name: "ellis", Phone: "123456789"}, true}
chinese.Eat()
chinese.Jubao()
}
到了这里,关于golang的继承的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!