我想允许pass-to-func仅指向结构的指针,限制值。有可能吗?
我想做的事:
Foo(&Bar{}) // allowed
Foo(Bar{}) // IDE/compilation error
事实上,我使用的是像func Foo(bar any)
这样的签名,它允许向函数传递任何接口和类型,当然,在某些情况下,它可能会导致问题。
可以传递给这个函数的类型数量应该不受限制,我不想使用特定的接口等。也许这可以用泛型来实现?但我不知道如何正确地做。
我用的是围棋1.18。
是的,你可以使用这样的泛型:
func Foo[T any](t *T){
…
}