Documentation ¶
Overview ¶
Package unsafeslice contains functions for zero-copy casting between typed slices and byte slices.
Index ¶
- Constants
- func ByteSliceFromFloat32Slice(b []float32) []byte
- func ByteSliceFromFloat64Slice(b []float64) []byte
- func ByteSliceFromInt16Slice(b []int16) []byte
- func ByteSliceFromInt32Slice(b []int32) []byte
- func ByteSliceFromInt64Slice(b []int64) []byte
- func ByteSliceFromInt8Slice(b []int8) []byte
- func ByteSliceFromString(s string) []byte
- func ByteSliceFromStructSlice(s interface{}) []byte
- func ByteSliceFromUint16Slice(b []uint16) []byte
- func ByteSliceFromUint32Slice(b []uint32) []byte
- func ByteSliceFromUint64Slice(b []uint64) []byte
- func ByteSliceFromUint8Slice(b []uint8) []byte
- func Float32SliceFromByteSlice(b []byte) []float32
- func Float64SliceFromByteSlice(b []byte) []float64
- func Int16SliceFromByteSlice(b []byte) []int16
- func Int32SliceFromByteSlice(b []byte) []int32
- func Int64SliceFromByteSlice(b []byte) []int64
- func Int8SliceFromByteSlice(b []byte) []int8
- func StringFromByteSlice(b []byte) string
- func StructSliceFromByteSlice(b []byte, out interface{})
- func Uint16SliceFromByteSlice(b []byte) []uint16
- func Uint32SliceFromByteSlice(b []byte) []uint32
- func Uint64SliceFromByteSlice(b []byte) []uint64
- func Uint8SliceFromByteSlice(b []byte) []uint8
Constants ¶
View Source
const ( Uint64Size = 8 Uint32Size = 4 Uint16Size = 2 Uint8Size = 1 Float32Size = 4 Float64Size = 8 )
Useful constants.
Variables ¶
This section is empty.
Functions ¶
func ByteSliceFromFloat32Slice ¶ added in v0.3.0
func ByteSliceFromFloat64Slice ¶ added in v0.3.0
func ByteSliceFromInt16Slice ¶
func ByteSliceFromInt32Slice ¶
func ByteSliceFromInt64Slice ¶
func ByteSliceFromInt8Slice ¶
func ByteSliceFromString ¶
func ByteSliceFromStructSlice ¶
func ByteSliceFromStructSlice(s interface{}) []byte
ByteSliceFromStructSlice does what you would expect.
Note that this is slower than the scalar primitives above as it uses reflection.
func ByteSliceFromUint8Slice ¶ added in v0.2.0
func Float32SliceFromByteSlice ¶ added in v0.3.0
func Float64SliceFromByteSlice ¶ added in v0.3.0
func Int16SliceFromByteSlice ¶
func Int32SliceFromByteSlice ¶
func Int64SliceFromByteSlice ¶
func Int8SliceFromByteSlice ¶
func StringFromByteSlice ¶
func StructSliceFromByteSlice ¶
func StructSliceFromByteSlice(b []byte, out interface{})
Create a slice of structs from a slice of bytes.
var v []Struct StructSliceFromByteSlice(bytes, &v)
Elements in the byte array must be padded correctly. See unsafe.AlignOf, et al.
Note that this is slower than the scalar primitives above as it uses reflection.
func Uint8SliceFromByteSlice ¶ added in v0.2.0
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.