本次查询以结构体切片之间的类型转换为中心。具体来说,我们的目标是将匿名结构体的切片转换为已定义结构体的切片。
由于两种结构类型之间的差异而出现问题:
标签的存在创建不同的结构类型,防止直接转换。
选项 1:迭代和复制
<code class="go">ls := make(ListSociete, len(res)) for i := 0; i <p><strong>选项2:不安全转换</strong></p> <ul> <li>使用不安全指针进行直接类型转换。</li> <li>此方法会绕过类型检查,如果底层数据结构意外更改,可能会导致运行时错误。</li> <li> <strong>警告:</strong>请谨慎使用此方法,因为它会损害类型安全。</li> </ul> <pre class="brush:php;toolbar:false"><code class="go">return *(*ListSociete)(unsafe.Pointer(&res)), nil</code>
以上是如何在 Golang 中将匿名结构体切片转换为定义结构体切片?的详细内容。更多信息请关注PHP中文网其他相关文章!