You test private functions in Go by defining a test file in the same package with the _test suffix, which grants access to unexported identifiers.
// mypackage/mypackage_test.go
package mypackage
import "testing"
func TestPrivateFunction(t *testing.T) {
result := privateHelper(10)
if result != 20 {
t.Errorf("got %d, want 20", result)
}
}
This approach works because the test file belongs to the same package (mypackage), allowing it to see and call functions like privateHelper that start with a lowercase letter.