components 是一个参数,类型是[]string ,不知道第四行代码的作用是干啥的。。 求教一下
1 if len(components) == 0 {
2 components = []string{":" + verb}
3 } else {
4 components = append([]string{}, components...)
5 components[len(components)-1] += ":" + verb
6 }
components 是一个参数,类型是[]string ,不知道第四行代码的作用是干啥的。。 求教一下
1 if len(components) == 0 {
2 components = []string{":" + verb}
3 } else {
4 components = append([]string{}, components...)
5 components[len(components)-1] += ":" + verb
6 }
|
RitterJun 21, 2022
1
deep copy 么
|
|
molly2mollyzyzJun 21, 2022
2
拷贝对象?
|
|
3
得结合上下文,目测是为了复制出来一份 components ,以免影响到函数调用方的 components
|
|
ikwJun 21, 2022
5
但是我还有点疑惑,下面是还会给 components 增加内容吗?为啥不用 copy ?
|
|
6
@zwpaper 下面有很多读取 components 的操作,应该是为了不影响读取吧
https://stackoverflow.com/questions/27055626/concisely-deep-copy-a-slice |
|
ikwJun 21, 2022
7
copy 也不影响读取,看你发的 so 的 benchmark ,append 性能不输 copy ,append 代码会简洁些,也许是这个考虑
|