Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.
// Package gg implements simple "extensions" to Go language. Based on https://github.com/icza/gog
package gg
// P returns a pointer to the input value
func P[T any](v T) *T {
return &v
}
// V returns the value of the input pointer, or a zero value if the input pointer is nil.
func V[T any](p *T) T {
if p == nil {
var zero T
return zero
return *p
func If[T any](cond bool, v1, v2 T) T {
if cond {
return v1
return v2