Copyright 2020 The Go Authors. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
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.
package unsafeheader

import (
	
)
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
}
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