美文网首页
Golang 接口

Golang 接口

作者: 邦_ | 来源:发表于2020-10-21 10:25 被阅读0次

package main

import "fmt"

type Person struct {
    name string
    age  int
    sex  string
}

type Worker struct {
    Person
    number int
}

func (p Person) eat() {

    fmt.Printf("%s在吃饭....", p.name)

}




func (w Worker) eat()  {
    fmt.Printf("%s子类在吃饭....",w.name)
}


func (w Worker) work() {
    fmt.Printf("%s在工作....\n", w.name)
}
func (w *Worker) sleep() {
    w.name = "小白"
    fmt.Printf("%s在睡觉....\n", w.name)

}

func main() {

    var worker Worker
    worker.name = "张三"
    worker.work()
    worker.eat()
    //go的官方文档中说到,不支持重载机制可以简化方法调度。从其他语言的经验上看,重载只是偶尔有用,但会在实践中引起误解和导致脆弱性。
    worker1 := &Worker{Person:Person{name: "李四"} }
    worker1.sleep()
    worker1.eat()
    fmt.Println(worker1.name)

}

相关文章

网友评论

      本文标题:Golang 接口

      本文链接:https://www.haomeiwen.com/subject/zbmdmktx.html