bytebuf

package module
v0.0.0-...-b4b8fd4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 2, 2020 License: MIT Imports: 5 Imported by: 1

README

ByteBuf

高速字节缓存库,顺序的写入读取,不用在意资源的释放整理

Installing

go get -u github.com/chenyalyg/ByteBuf

Usage

package main

import (

  "encoding/binary"
  "fmt"
  "log"
  
  "github.com/chenyalyg/ByteBuf"
)

func main() {
  buf := bytebuf.New(bytebuf.DeepCopy)
  buf.WriteInt16(12345,binary.BigEndian)
  buf.WriteInt32(12345,binary.BigEndian)
  buf.WriteFloat32(12345.22,binary.BigEndian)
  buf.WriteFloat64(12345.33,binary.BigEndian)
  b:=make([]byte,10)
  buf.WriteBytes(b)
  
  num1,err:=buf.ReadInt16(binary.BigEndian)
  if err != nil {
	log.Fatal(err)
  }
  fmt.Println("num1 :",num1)
  
  num2,err:=buf.ReadInt32(binary.BigEndian)
  if err != nil {
	log.Fatal(err)
  }
  fmt.Println("num2 :",num2)
  
  num3,err:=buf.ReadFloat32(binary.BigEndian)
  if err != nil {
	log.Fatal(err)
  }
  fmt.Println("num3 :",num3)
  
  num4,err:=buf.ReadFloat64(binary.BigEndian)
  if err != nil {
	log.Fatal(err)
  }
  fmt.Println("num4 :",num4)
  
  b2:=make([]byte,buf.Len())
  n:=buf.ReadBytes(b2)
  fmt.Println("read size:",n)

}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ByteBuffer

type ByteBuffer struct {
	// contains filtered or unexported fields
}

func New

func New(copy_type CopyType) *ByteBuffer

copy_type 是否进行深度拷贝

func (*ByteBuffer) Len

func (self *ByteBuffer) Len() int

func (*ByteBuffer) PrvReadByte

func (self *ByteBuffer) PrvReadByte() (byte, error)

func (*ByteBuffer) PrvReadBytes

func (self *ByteBuffer) PrvReadBytes(data []byte) int

预读取字节

func (*ByteBuffer) PrvReadFloat32

func (self *ByteBuffer) PrvReadFloat32(order binary.ByteOrder) (float32, error)

func (*ByteBuffer) PrvReadFloat64

func (self *ByteBuffer) PrvReadFloat64(order binary.ByteOrder) (float32, error)

func (*ByteBuffer) PrvReadInt16

func (self *ByteBuffer) PrvReadInt16(order binary.ByteOrder) (int16, error)

func (*ByteBuffer) PrvReadInt32

func (self *ByteBuffer) PrvReadInt32(order binary.ByteOrder) (int32, error)

func (*ByteBuffer) PrvReadInt64

func (self *ByteBuffer) PrvReadInt64(order binary.ByteOrder) (int64, error)

func (*ByteBuffer) ReadByte

func (self *ByteBuffer) ReadByte() (byte, error)

func (*ByteBuffer) ReadBytes

func (self *ByteBuffer) ReadBytes(data []byte) int

func (*ByteBuffer) ReadFloat32

func (self *ByteBuffer) ReadFloat32(order binary.ByteOrder) (float32, error)

func (*ByteBuffer) ReadFloat64

func (self *ByteBuffer) ReadFloat64(order binary.ByteOrder) (float32, error)

func (*ByteBuffer) ReadInt16

func (self *ByteBuffer) ReadInt16(order binary.ByteOrder) (int16, error)

func (*ByteBuffer) ReadInt32

func (self *ByteBuffer) ReadInt32(order binary.ByteOrder) (int32, error)

func (*ByteBuffer) ReadInt64

func (self *ByteBuffer) ReadInt64(order binary.ByteOrder) (int64, error)

func (*ByteBuffer) WriteByte

func (self *ByteBuffer) WriteByte(b byte)

func (*ByteBuffer) WriteBytes

func (self *ByteBuffer) WriteBytes(data []byte)

func (*ByteBuffer) WriteFloat32

func (self *ByteBuffer) WriteFloat32(num float32, order binary.ByteOrder)

func (*ByteBuffer) WriteFloat64

func (self *ByteBuffer) WriteFloat64(num float64, order binary.ByteOrder)

func (*ByteBuffer) WriteInt16

func (self *ByteBuffer) WriteInt16(num int16, order binary.ByteOrder)

func (*ByteBuffer) WriteInt32

func (self *ByteBuffer) WriteInt32(num int32, order binary.ByteOrder)

func (*ByteBuffer) WriteInt64

func (self *ByteBuffer) WriteInt64(num int64, order binary.ByteOrder)

type CopyType

type CopyType int32
const (
	DeepCopy CopyType = 0 //创建新的内存存放数据
	Pointer  CopyType = 1 //
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL