接口返回的疑问
来源:4-3 Iris框架入门---快速入门案例
小雷哥丶
2023-12-27
能问一下构造函数的地方,为什么是需要添加&吗,为什么是要以指针的形式返回成接口对象,而不是以值的形式直接返回成接口对象,我自己测试是如果实现接口的结构体有成员变量就需要添加&,老师可以说一下这底层的一个原理么
写回答
1回答
-
Cap
2024-01-24
在 Go 中,接口是一种类型,它定义了一组方法,但这些方法不实现任何操作。一个接口类型的变量可以保存任何实现了这些方法的值。当一个接口变量持有一个特定类型的值时,该值的类型既可以是指针类型也可以是非指针类型,这取决于该类型如何实现接口。
关于为什么有时发现需要使用 &(即指针)来实现接口,原因是这与定义接口方法的方式有关。如果接口的任一方法以指针接收者声明,则必须使用指针来实现该接口;反之,如果接口的所有方法都以值接收者声明,那么可以使用值来实现该接口。
00
相似问题