typed.go
func (t Typed) StringsIf(key string) ([]string, bool) {
	value, exists := t[key]
	if exists == false {
		return nil, false
	}
	if n, ok := value.([]string); ok {
		return n, true
	}
	if a, ok := value.([]interface{}); ok {
		l := len(a)
		n := make([]string, l)
		var ok bool
		for i := 0; i < l; i++ {
			if n[i], ok = a[i].(string); ok == false {
				return n, false
			}
		}
		return n, true
	}
	return nil, false
}
func (t Typed) StringsIf(key string) ([]string, bool) {
	value, exists := t[key]
	if exists == false {
		return nil, false
	}
	if n, ok := value.([]string); ok {
		return n, true
	}
	if a, ok := value.([]interface{}); ok {
		l := len(a)
		n := make([]string, l)
		var ok bool
		for i := 0; i < l; i++ {
			if n[i], ok = a[i].(string); ok == false {
				return n, false
			}
		}
		return n, true
	}
	return nil, false
}
func ( t Typed ) StringsIf ( key string ) ( [ ] string , bool ) { value , exists := t [ key ] if exists == false { return nil , false } if n , ok := value . ( [ ] string ) ; ok { return n , true } if a , ok := value . ( [ ] interface { } ) ; ok { l := len ( a ) n := make ( [ ] string , l ) var ok bool for i := 0 ; i < l ; i ++ { if n [ i ] , ok = a [ i ] . ( string ) ; ok == false { return n , false } } return n , true } return nil , false }
// Returns a string slice + true if valid
// Returns nil + false otherwise
// (returns nil+false if one of the values is not a valid string)
Returns a string slice + true if valid Returns nil + false otherwise ( returns nil + false if one of the values is not a valid string )