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  }