goland报错Variable declaration copies lock value to returnOrder type pbOrderListDetails contains protoimplMessageState contains syncMutex which is syncLocker
这个错误是因为在声明变量时,将锁值复制到了另一个变量中,导致类型中包含的锁无法正确使用。解决此问题的方法是使用指针而不是值类型来声明变量。在这种情况下,使用指针类型声明变量会将锁值传递给变量,而不是复制它。
例如,如果要声明一个名为“returnOrder”的变量,类型为“pb.OrderListDetails”,则应该使用以下代码:
var returnOrder *pb.OrderListDetails
而不是:
var returnOrder pb.OrderListDetails
通过使用指针类型,可以避免将锁值复制到另一个变量中,从而避免出现此错误。
原文地址: https://www.cveoy.top/t/topic/g8yD 著作权归作者所有。请勿转载和采集!