typed.go
func (t Typed) IntIf(key string) (int, bool) {
	value, exists := t[key]
	if exists == false {
		return 0, false
	}

	switch t := value.(type) {
	case int:
		return t, true
	case int16:
		return int(t), true
	case int32:
		return int(t), true
	case int64:
		return int(t), true
	case float64:
		return int(t), true
	case string:
		i, err := strconv.Atoi(t)
		return i, err == nil
	}
	return 0, false
}
func (t Typed) IntIf(key string) (int, bool) {
	value, exists := t[key]
	if exists == false {
		return 0, false
	}

	switch t := value.(type) {
	case int:
		return t, true
	case int16:
		return int(t), true
	case int32:
		return int(t), true
	case int64:
		return int(t), true
	case float64:
		return int(t), true
	case string:
		i, err := strconv.Atoi(t)
		return i, err == nil
	}
	return 0, false
}
func ( t Typed ) IntIf ( key string ) ( int , bool ) { value , exists := t [ key ] if exists == false { return 0 , false } switch t := value . ( type ) { case int : return t , true case int16 : return int ( t ) , true case int32 : return int ( t ) , true case int64 : return int ( t ) , true case float64 : return int ( t ) , true case string : i , err := strconv . Atoi ( t ) return i , err == nil } return 0 , false }
// Returns an int at the key and whether
// or not the key existed and the value was an int
Returns an int at the key and whether or not the key existed and the value was an int