【发布时间】:2020-12-20 01:11:51
【问题描述】:
在 Go 中,当您将参数传递给采用接口的函数时,究竟会发生什么?具体是引用传递还是值传递?
【问题讨论】:
-
go 中的一切都是按值传递的,包括指针。 Go 中没有“按引用传递”。
标签: go interface pass-by-reference
在 Go 中,当您将参数传递给采用接口的函数时,究竟会发生什么?具体是引用传递还是值传递?
【问题讨论】:
标签: go interface pass-by-reference
如果您将接口值传递给采用接口的函数,则它会被传递而无需任何进一步处理。
如果您将值传递给采用接口的函数,编译器会创建该值的副本,然后创建一个包含指向该副本的指针和值的类型的接口,并传递它。
如果将指针传递给接受接口的函数,编译器会创建一个包含该指针和类型的接口作为指向值的指针并传递它。
【讨论】: