File: unsafebytes.go

package info (click to toggle)
golang-github-segmentio-asm 1.2.0%2Bgit20231107.1cfacc8-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 932 kB
  • sloc: asm: 6,093; makefile: 32
file content (20 lines) | stat: -rw-r--r-- 337 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package unsafebytes

import "unsafe"

func Pointer(b []byte) *byte {
	return *(**byte)(unsafe.Pointer(&b))
}

func String(b []byte) string {
	return *(*string)(unsafe.Pointer(&b))
}

func BytesOf(s string) []byte {
	return *(*[]byte)(unsafe.Pointer(&sliceHeader{str: s, cap: len(s)}))
}

type sliceHeader struct {
	str string
	cap int
}