func (s CopyableSlice) DeepCopy() []interface{} {
	result := []interface{}{}

	for _, v := range s {
		if mapvalue, isMap := v.(map[string]interface{}); isMap {
			result = append(result, CopyableMap(mapvalue).DeepCopy())
			continue
		}

		if slicevalue, isSlice := v.([]interface{}); isSlice {
			result = append(result, CopyableSlice(slicevalue).DeepCopy())
			continue
		}

		result = append(result, v)
	}

	return result
}
// DeepCopy will create a deep copy of this slice.
// The depth of this copy is all inclusive.
// Both maps and slices will be considered when making the copy.
DeepCopy will create a deep copy of this slice.
The depth of this copy is all inclusive.
Both maps and slices will be considered when making the copy.
// DeepCopy will create a deep copy of this slice . // The depth of this copy is all inclusive . // Both maps and slices will be considered when making the copy .
func (s CopyableSlice) DeepCopy() []interface{} {
	result := []interface{}{}
	for _, v := range s {
		if mapvalue, isMap := v.(map[string]interface{}); isMap {
			result = append(result, CopyableMap(mapvalue).DeepCopy())
			continue
		}
		if slicevalue, isSlice := v.([]interface{}); isSlice {
			result = append(result, CopyableSlice(slicevalue).DeepCopy())
			continue
		}
		result = append(result, v)
	}
	return result
}
func ( s CopyableSlice ) DeepCopy ( ) [ ] interface { } { result := [ ] interface { } { } for _ , v := range s { if mapvalue , isMap := v . ( map [ string ] interface { } ) ; isMap { result = append ( result , CopyableMap ( mapvalue ) . DeepCopy ( ) ) continue } if slicevalue , isSlice := v . ( [ ] interface { } ) ; isSlice { result = append ( result , CopyableSlice ( slicevalue ) . DeepCopy ( ) ) continue } result = append ( result , v ) } return result }
DeepCopy will create a deep copy of this slice.
DeepCopy will create a deep copy of this slice .