Files
lo/docs/data/core-fromptr.md
T
2025-10-06 17:15:49 +02:00

937 B

name, slug, sourceRef, category, subCategory, signatures, variantHelpers, similarHelpers, position
name slug sourceRef category subCategory signatures variantHelpers similarHelpers position
FromPtr fromptr type_manipulation.go#L53 core type
func FromPtr[T any](x *T) T
core#type#fromptr
core#type#toptr
core#type#fromptror
core#type#emptyabletoptr
core#type#tosliceptr
core#type#fromsliceptr
95

Dereferences a pointer and returns the underlying value. If the pointer is nil, returns the zero value for the type. This is a safe way to extract values from optional pointers without risking panics.

ptr := lo.ToPtr(42)
value := lo.FromPtr(ptr)
// value: 42

value = lo.FromPtr[string](nil)
// value: "" (zero value for string)

value = lo.FromPtr[int](nil)
// value: 0 (zero value for int)

// Working with structs
type Person struct {
    Name string
    Age  int
}
var personPtr *Person
person := lo.FromPtr(personPtr)
// person: Person{Name: "", Age: 0} (zero value for Person)