func GetFieldsUsed(fs []string, include, exclude string) (r []string) {
	includes := strings.Split(include, ",")
	excludes := strings.Split(exclude, ",")
	// has include param
	if include != "" {
		for _, in := range includes {
			inString := String(in)
			if !inString.IsInArrayIgnoreCase(fs) {
				continue
			}
			if exclude != "" && inString.IsInArrayIgnoreCase(excludes) {
				continue
			}
			if inString.IsContainIgnoreCase("id") || inString.IsContainIgnoreCase("password") {
				continue
			}
			r = append(r, in)
		}
	}
	// no include param
	if include == "" {
		for _, key := range fs {
			keyString := String(key)
			if exclude != "" && keyString.IsInArrayIgnoreCase(excludes) {
				continue
			}
			if keyString.IsContainIgnoreCase("id") || keyString.IsContainIgnoreCase("password") {
				continue
			}
			r = append(r, key)
		}
	}
	return
}
// GetFieldsUsed
// Order by Include if has include
GetFieldsUsed
Order by Include if has include
// GetFieldsUsed // Order by Include if has include
func GetFieldsUsed(fs []string, include, exclude string) (r []string) {
	includes := strings.Split(include, ",")
	excludes := strings.Split(exclude, ",")
	if include != "" {
		for _, in := range includes {
			inString := String(in)
			if !inString.IsInArrayIgnoreCase(fs) {
				continue
			}
			if exclude != "" && inString.IsInArrayIgnoreCase(excludes) {
				continue
			}
			if inString.IsContainIgnoreCase("id") || inString.IsContainIgnoreCase("password") {
				continue
			}
			r = append(r, in)
		}
	}
	if include == "" {
		for _, key := range fs {
			keyString := String(key)
			if exclude != "" && keyString.IsInArrayIgnoreCase(excludes) {
				continue
			}
			if keyString.IsContainIgnoreCase("id") || keyString.IsContainIgnoreCase("password") {
				continue
			}
			r = append(r, key)
		}
	}
	return
}
func GetFieldsUsed ( fs [ ] string , include , exclude string ) ( r [ ] string ) { includes := strings . Split ( include , " " ) excludes := strings . Split ( exclude , " " ) if include != " " { for _ , in := range includes { inString := String ( in ) if ! inString . IsInArrayIgnoreCase ( fs ) { continue } if exclude != " " && inString . IsInArrayIgnoreCase ( excludes ) { continue } if inString . IsContainIgnoreCase ( " " ) || inString . IsContainIgnoreCase ( " " ) { continue } r = append ( r , in ) } } if include == " " { for _ , key := range fs { keyString := String ( key ) if exclude != " " && keyString . IsInArrayIgnoreCase ( excludes ) { continue } if keyString . IsContainIgnoreCase ( " " ) || keyString . IsContainIgnoreCase ( " " ) { continue } r = append ( r , key ) } } return }
GetFieldsUsed
Order by Include if has include
GetFieldsUsed Order by Include if has include
// has include param // no include param