package unsafeheader

import "internal/unsafeheader"

Package unsafeheader contains header declarations for the Go runtime's slice and string implementations.

This package allows packages that cannot import "reflect" to use types that are tested to be equivalent to reflect.SliceHeader and reflect.StringHeader.

Index

Types

type Slice

type Slice struct {
	Data unsafe.Pointer
	Len  int
	Cap  int
}

Slice is the runtime representation of a slice. It cannot be used safely or portably and its representation may change in a later release.

Unlike reflect.SliceHeader, its Data field is sufficient to guarantee the data it references will not be garbage collected.

type String

type String struct {
	Data unsafe.Pointer
	Len  int
}

String is the runtime representation of a string. It cannot be used safely or portably and its representation may change in a later release.

Unlike reflect.StringHeader, its Data field is sufficient to guarantee the data it references will not be garbage collected.