slug.go
func Substitute(s string, sub map[string]string) (buf string) {
	buf = s
	var keys []string
	for k := range sub {
		keys = append(keys, k)
	}
	sort.Strings(keys)

	for _, key := range keys {
		buf = strings.Replace(buf, key, sub[key], -1)
	}
	return
}
func Substitute(s string, sub map[string]string) (buf string) {
	buf = s
	var keys []string
	for k := range sub {
		keys = append(keys, k)
	}
	sort.Strings(keys)

	for _, key := range keys {
		buf = strings.Replace(buf, key, sub[key], -1)
	}
	return
}
func Substitute ( s string , sub map [ string ] string ) ( buf string ) { buf = s var keys [ ] string for k := range sub { keys = append ( keys , k ) } sort . Strings ( keys ) for _ , key := range keys { buf = strings . Replace ( buf , key , sub [ key ] , - 1 ) } return }
// Substitute returns string with superseded all substrings from
// provided substitution map. Substitution map will be applied in alphabetic
// order. Many passes, on one substitution another one could apply.
Substitute returns string with superseded all substrings from provided substitution map . Substitution map will be applied in alphabetic order . Many passes on one substitution another one could apply .