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_方法值和方法表达式的主要内容,如果未能解决你的问题,请参考以下文章

GO的方法值和方法表达式用法

我可以使用正则表达式或其他方法更快地执行此操作吗?

将数学表达式转换为python表达式?

是否可以模拟 lambda 表达式?

Spring的切入点表达式

方法引用