38_方法的重写
Posted zhaopp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了38_方法的重写相关的知识,希望对你有一定的参考价值。
package main
import "fmt"
type Person struct {
//和变量定义不同,不要写var关键字
Id int
Name string
Sex byte
}
type Student struct {
Person
Hobby string
}
//改变接收者类型,可以实现方法重写
func (s Person) PrintValue() {
fmt.Println("该方法receiver is person")
}
func (s Student) PrintValue() {
fmt.Println("该方法receiver is student")
}
func main() {
s1 := Student{Person{1, "steven", ‘m‘}, "running"}
s1.PrintValue() //就近原则
s1.Person.PrintValue() //显示的调用上一层
}
以上是关于38_方法的重写的主要内容,如果未能解决你的问题,请参考以下文章