为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
Qyouu 2022-11-28 10:44:43
我想只允许传递给 func 指向结构的指针,限制值。可能吗?我想做的事:Foo(&Bar{}) // allowed Foo(Bar{}) // IDE/compilation error实际上,我正在使用类似的签名func Foo(bar any),当然,它允许将任何接口和类型传递给函数,所以在某些情况下它可能会导致问题。可以传递给这个函数的类型数量应该不受限制,我不想使用特定的接口等。也许这可以用泛型来实现?但我不确定如何正确地做到这一点。我正在使用 go 1.18。
查看完整描述

1 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

是的,你可以像这样使用泛型:

func Foo[T any](t *T){
…
}


查看完整回答
反对 回复 2022-11-28
  • 1 回答
  • 0 关注
  • 97 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信