mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-12 03:55:28 +08:00
Update 07.5.md
This commit is contained in:
@@ -26,7 +26,8 @@
|
|||||||
|
|
||||||
**注意**: append 在大多数情况下很好用,但是如果你想完全掌控整个追加过程,你可以实现一个这样的 AppendByte 方法:
|
**注意**: append 在大多数情况下很好用,但是如果你想完全掌控整个追加过程,你可以实现一个这样的 AppendByte 方法:
|
||||||
|
|
||||||
func AppendByte(slice []byte, data ...byte[]) []byte {
|
```go
|
||||||
|
func AppendByte(slice []byte, data ...byte) []byte {
|
||||||
m := len(slice)
|
m := len(slice)
|
||||||
n := m + len(data)
|
n := m + len(data)
|
||||||
if n > cap(slice) { // if necessary, reallocate
|
if n > cap(slice) { // if necessary, reallocate
|
||||||
@@ -38,7 +39,8 @@
|
|||||||
slice = slice[0:n]
|
slice = slice[0:n]
|
||||||
copy(slice[m:n], data)
|
copy(slice[m:n], data)
|
||||||
return slice
|
return slice
|
||||||
}
|
}
|
||||||
|
```
|
||||||
|
|
||||||
`func copy(dst, src []T) int` copy 方法将类型为 T 的 slice 从源地址 src 拷贝到目标地址 dst,覆盖 dst 的相关元素,并且返回拷贝的元素个数。源地址和目标地址可能会有重叠。拷贝个数是 src 和 dst 的长度最小值。如果 src 是字符串那么元素类型就是 byte。如果你还想继续使用 src,在拷贝技术后执行 src =dst。
|
`func copy(dst, src []T) int` copy 方法将类型为 T 的 slice 从源地址 src 拷贝到目标地址 dst,覆盖 dst 的相关元素,并且返回拷贝的元素个数。源地址和目标地址可能会有重叠。拷贝个数是 src 和 dst 的长度最小值。如果 src 是字符串那么元素类型就是 byte。如果你还想继续使用 src,在拷贝技术后执行 src =dst。
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user