Here, bytes.TrimPrefix() function is used to trim prefix bytes in slice of bytes in go. It trims leading prefix in slice of bytes.
TrimPrefix() built-in function of bytes package returns slice of bytes without the provided leading prefix string.
bytes.TrimPrefix() function prototype:
func TrimPrefix(s, prefix []byte) []byte Input parameters: s: slice of bytes prefix: Slice of bytes to be trimmed leading prefix in s Return: It returns slice of bytes without the provided leading prefix string.
Explanation on trim prefix bytes in slice of bytes in go
1)
s := []byte("foo bar 123 4 baz")
prefix := []bytes("foo")
Output:
" bar 123 4 baz"
2)
s := []byte("foo bar 123 4 baz")
prefix := []bytes("bar")
Output:
"foo bar 123 4 baz"
3)
s := []byte("foo bar 123 4 baz")
prefix := []bytes("")
Output:
"foo bar 123 4 baz"
4)
s := []byte("foo bar 123 4 baz")
prefix := []bytes("John")
Output:
"foo bar 123 4 baz"
Example:
Code 1:
package main
import (
"fmt"
"bytes"
)
func main() {
s := []byte("foo bar 123 4 baz")
prefix := []byte("foo")
fmt.Printf("%q", bytes.TrimPrefix(s, prefix))
s = []byte("foo bar 123 4 baz")
prefix = []byte("bar")
fmt.Printf("\n%q", bytes.TrimPrefix(s, prefix))
s = []byte("foo bar 123 4 baz")
prefix = []byte("")
fmt.Printf("\n%q", bytes.TrimPrefix(s, prefix))
s = []byte("foo bar 123 4 baz")
prefix = []byte("John")
fmt.Printf("\n%q", bytes.TrimPrefix(s, prefix))
}Output:
% go run sample.go " bar 123 4 baz" "foo bar 123 4 baz" "foo bar 123 4 baz" "foo bar 123 4 baz"
To learn more about golang, Please refer given below link:
References: