mirror of
https://github.com/chai2010/advanced-go-programming-book.git
synced 2025-05-24 04:22:22 +00:00
26 lines
504 B
Go
Executable File
26 lines
504 B
Go
Executable File
// Copyright © 2017 ChaiShushan <chaishushan{AT}gmail.com>.
|
|
// License: https://creativecommons.org/licenses/by-nc-sa/4.0/
|
|
|
|
package stackmap
|
|
|
|
func X(b []byte) []byte
|
|
|
|
//func X(b []byte) []byte {
|
|
// if len(b) == cap(b) {
|
|
// b = growSlice(b)
|
|
// }
|
|
// b = b[:len(b)+1]
|
|
// b[len(b)-1] = 3
|
|
// return b
|
|
//}
|
|
|
|
func growSlice(b []byte) []byte {
|
|
newCap := 10
|
|
if cap(b) > 5 {
|
|
newCap = cap(b) * 2
|
|
}
|
|
b1 := make([]byte, len(b), newCap)
|
|
copy(b1, b)
|
|
return b1
|
|
}
|