接口返回的疑问

来源:4-3 Iris框架入门---快速入门案例

小雷哥丶

2023-12-27

能问一下构造函数的地方,为什么是需要添加&吗,为什么是要以指针的形式返回成接口对象,而不是以值的形式直接返回成接口对象,我自己测试是如果实现接口的结构体有成员变量就需要添加&,老师可以说一下这底层的一个原理么

写回答

1回答

Cap

2024-01-24

在 Go 中,接口是一种类型,它定义了一组方法,但这些方法不实现任何操作。一个接口类型的变量可以保存任何实现了这些方法的值。当一个接口变量持有一个特定类型的值时,该值的类型既可以是指针类型也可以是非指针类型,这取决于该类型如何实现接口。

关于为什么有时发现需要使用 &(即指针)来实现接口,原因是这与定义接口方法的方式有关。如果接口的任一方法以指针接收者声明,则必须使用指针来实现该接口;反之,如果接口的所有方法都以值接收者声明,那么可以使用值来实现该接口。


0
0

全流程开发 GO实战电商网站高并发秒杀系统

运用架构设计与系统化思维,从容应对不同流量等级的“秒杀”场景

1462 学习 · 443 问题

查看课程