登录
首页 >  Golang >  Go问答

golang 中 types.a 和 types.b 的 * *有什么不同

来源:stackoverflow

时间:2024-02-25 13:06:24 216浏览 收藏

本篇文章给大家分享《golang 中 types.a 和 types.b 的 * *有什么不同》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

在查看代码时我发现了下面的函数声明

func (c *Congress) Finalize(chain consensus.ChainHeaderReader, header *types.Header, state *state.StateDB, txs *[]*types.Transaction, uncles []*types.Header, receipts *[]*types.Receipt, systemTxs []*types.Transaction) error {

其中两个参数分别是txs *[]*types.transaction,uncles []*types.header,在golang中是什么意思

只是想参考上面的代码来了解golang术语


正确答案


叔叔[]*types.Header

叔叔们是切片。如果您将其复制到某处(也许通过将其作为函数参数传递),则对它的更新将不会向后传播到原始内容(对元素的更改的细微差别将传播,但大小/数据指针原始内容保持不变)。

txs *[]*types.Transaction

txs 是指向切片的指针。它有点像“引用”,因为对指向的切片的更新会传播到指向该切片的其他任何人。因此,如果您将指针作为函数参数传递给切片,则该函数可能会更改指向的切片的属性(添加/删除元素)。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>