Go中的切片存储参考

Eri*_*ner 5 go

在Go库源中,您经常会看到通过创建新的切片存储引用来传递切片

method(s[:])
Run Code Online (Sandbox Code Playgroud)

与传递原始切片相比,这有什么好处?

method(s)
Run Code Online (Sandbox Code Playgroud)

zzz*_*zzz 7

s[:]构造通常仅用于创建引用现有数组的新切片,而不是用于"传递原始切片".

如果s[:]真的在stdlib中的某个地方使用过,并且它s是一个切片而不是它可能是重构的剩余部分.如果您知道Go 问题跟踪器,请报告此类地点.