![]() |
1
8
正如错误所说:
接口可以包装任何类型的值。但您是在指针类型接口而不是接口中包装结构。这不是高朗界面的工作原理。 如果要传递结构的地址。接口可以直接包装指向结构的指针。不需要创建指向接口的指针来实现这一点。
在Golang中,应避免将指针传递给接口:
考虑变量声明,
打印函数fmt.Fprintf将满足io.Writersomething(实现规范写入方法)的值作为其第一个参数。这样我们就可以写作了
但是,如果我们传递w的地址,程序将不会编译。
检查一下 Go playground . 当试图将指针传递到接口时,您将在代码段中发现与此相同的错误。 |
![]() |
Community wiki · safe_ptr实现 1 年前 |
![]() |
lplplplp · 为什么不能访问函数外的结构指针 2 年前 |
![]() |
Fabio · 在c中将指针赋给常数指针++ 2 年前 |
![]() |
Gabe Tucker · 无法在golang中分配接口对象指针 2 年前 |