Black Lives Matter. Support the Equal Justice Initiative.

Package unsafeheader

import "internal/unsafeheader"
Overview
Index

Overview ▾

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 ▾

Package files

unsafeheader.go

type Slice

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 Slice struct {
    Data unsafe.Pointer
    Len  int
    Cap  int
}

type String

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.

type String struct {
    Data unsafe.Pointer
    Len  int
}