Package typep
provides type predicates.
Go version 1.16+
go get github.com/go-toolsmith/typep
package main
import (
"fmt"
"github.com/go-toolsmith/typep"
"github.com/go-toolsmith/strparse"
)
func main() {
floatTyp := types.Typ[types.Float32]
intTyp := types.Typ[types.Int]
ptr := types.NewPointer(intTyp)
arr := types.NewArray(intTyp, 64)
fmt.Println(typep.HasFloatProp(floatTyp)) // => true
fmt.Println(typep.HasFloatProp(intTyp)) // => false
fmt.Println(typep.IsPointer(ptr)) // => true
fmt.Println(typep.IsArray(arr)) // => true
}