This tool can be useful for writing a tests. If you want change private field in struct from imported libraries than it can help you.
package main
import (
"strings"
"github.com/dedalqq/omg.testingtools"
)
func TestSomeCase(t *testing.T) {
buffer := strings.Builder{}
testingtools.SetPrivateValue(&buffer, "buf", []byte("data in strings buffer"))
}
This function finding needs field via reflect
then get pointer from field address via unsafe.Pointer
and write value via variable with the same address as original struct field.