github.com/songzhibin97/gkit@v1.2.13/cache/buffer/example_test.go (about) 1 package buffer 2 3 // Byte 复用 4 func ExampleGetBytes() { 5 // size 2^6 - 2^18 6 // 返回向上取整的 2的整数倍 cap, len == size 7 // 其他特殊的或者在运行期间扩容的 将会被清空 8 slice := GetBytes(1024) 9 _ = slice 10 } 11 12 func ExamplePutBytes() { 13 slice := make([]byte, 1024) 14 // 将slice回收 15 PutBytes(&slice) 16 } 17 18 // IOByte 复用 19 20 func ExampleGetIoPool() { 21 // 创建一个缓冲区为 cap大小的 io对象 22 io := GetIoPool(1024) 23 _ = io 24 } 25 26 func ExamplePutIoPool() { 27 mockIoPool := newIoBuffer(1024) 28 err := PutIoPool(mockIoPool) 29 if err != nil { 30 // 如果一个对象已经被回收了,再次引用被回收的对象会触发错误 31 } 32 }