39_方法值和方法表达式
Posted zhaopp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了39_方法值和方法表达式相关的知识,希望对你有一定的参考价值。
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 (s *Person) Printpointer()
s.Name = "steven"
fmt.Println("该方法receiver is *person")
func main()
s1 := StudentPerson1, "steven", ‘m‘, "running"
//方法值,相当于方法指针
FuPrint := s1.PrintValue
FuPrint()
//方法表达式,显示的传参(这里没有继承概念)
FuPrint1 := (Student).PrintValue //变量类型名(Student)作为函数的传递形参,实现显示的传递
FuPrint1(s1)
以上是关于39_方法值和方法表达式的主要内容,如果未能解决你的问题,请参考以下文章