gpt4 book ai didi

function - 尝试取消引用一个接口(interface),该接口(interface)是指向后端结构对象的指针,因此我可以按值传递给函数

转载 作者:数据小太阳 更新时间:2023-10-29 03:24:28 24 4
gpt4 key购买 nike

我有一个接口(interface),它表示一个指向初始化后的结构对象的指针。我想访问接口(interface)引用的对象的值而不是指针,以便我可以按值将其作为接口(interface)类型传递给函数。

这是我的问题的示例:https://play.golang.org/p/_3vKThlj-V

我希望能够将 val 按值传递给主函数中的 EvalTest 函数,这样我就可以在另一个线程中覆盖指向 TestStruct 对象的指针,而不会在另一个线程中引起指针取消引用问题。

问题是我正在针对我的接口(interface)对象运行数千个 go 例程,但由于我正在集成的系统的限制,每 50 个 go 例程调用我都必须重新初始化我的指针。这似乎导致了一种不一致的状态,即当 go 例程尝试再次访问它时,新的结构初始化没有完全完成。所以我想按值传递它的原因是我不必担心指针被换出。

对此有什么想法吗?

最佳答案

这是通过为我的集成 api 连接使用一个 channel 并在成功初始化时向下传递一个新指针来解决的。我还可以使用其他一些优化来确保我只在连接成功时才替换指针。这是我在 Go slack channel 中从 Paul K 那里得到的一个例子。

https://play.golang.org/p/AmbsfQOzol

关于function - 尝试取消引用一个接口(interface),该接口(interface)是指向后端结构对象的指针,因此我可以按值传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45825182/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com