func getUnderlyingValue()

in pkg/selector/outputs/outputs.go [257:284]


func getUnderlyingValue(value reflect.Value) interface{} {
	var val interface{}

	switch value.Kind() {
	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
		val = value.Int()
	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:
		val = value.Uint()
	case reflect.Float32, reflect.Float64:
		val = value.Float()
	case reflect.String:
		val = value.String()
	case reflect.Pointer:
		val = value.Pointer()
	case reflect.Bool:
		val = value.Bool()
	case reflect.Complex128, reflect.Complex64:
		val = value.Complex()
	case reflect.Interface:
		val = value.Interface()
	case reflect.UnsafePointer:
		val = value.UnsafePointer()
	default:
		val = nil
	}

	return val
}