map のキーは文字列限定だが、値については任意の型 Ok
import ( "reflect" "sort" ) // SortedKeys makes sorted strings' array from keys of the given map whose key's type is string. func SortedKeys(mapInt interface{}) []string { values := reflect.ValueOf(mapInt).MapKeys() result := make([]string, len(values)) for i, value1 := range values { result[i] = value1.String() } sort.Strings(result) return result }
こんな感じで使う
for _, key := range texts.SortedKeys(BoolOptions) { val := BoolOptions[key]
reflect を使ってるから、たぶんすごく遅いんだろうなぁ