// Copyright (c) 2024-2026 Celestino Amoroso (celestino.amoroso@gmail.com). // All rights reserved. // typer.go package kern import "fmt" type Typer interface { TypeName() string } func TypeName(v any) (name string) { if v == nil { name = "nil" } else if typer, ok := v.(Typer); ok { name = typer.TypeName() } else if _, ok := v.(int64); ok { name = "integer" } else if _, ok := v.(float64); ok { name = "float" } else { name = fmt.Sprintf("%T", v) } return }