只允许传递给 func 指针,而不是值

我想只允许传递给 func 指向结构的指针,限制值。可能吗?

我想做的事:

Foo(&Bar{}) // allowed
Foo(Bar{}) // IDE/compilation error

实际上,我正在使用类似的签名func Foo(bar any),当然,它允许将任何接口和类型传递给函数,所以在某些情况下它可能会导致问题。

可以传递给这个函数的类型数量应该不受限制,我不想使用特定的接口等。也许这可以用泛型来实现?但我不确定如何正确地做到这一点。

我正在使用 go 1.18。


Qyouu
浏览 98回答 1
1回答

喵喔喔

是的,你可以像这样使用泛型:func Foo[T any](t *T){ … }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go