美文网首页
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