| 123456789101112131415161718192021222324252627282930313233343536373839 | package mainvar mBtn = map[byte][]string{	'2': {"a", "b", "c"},	'3': {"d", "e", "f"},	'4': {"g", "h", "i"},	'5': {"j", "k", "l"},	'6': {"m", "n", "o"},	'7': {"p", "q", "r", "s"},	'8': {"t", "u", "v"},	'9': {"w", "x", "y", "z"},}func letterCombinationsIter(digits string, last []string) []string {	if len(digits) == 0 {		return last	}	res := make([]string, 0)	char := mBtn[digits[0]]	for _, v := range last {		for _, c := range char {			res = append(res, v+c)		}	}	return letterCombinationsIter(digits[1:], res)}func letterCombinations(digits string) []string {	if len(digits) == 0 {		return []string{}	}	return letterCombinationsIter(digits[1:], mBtn[digits[0]])}/* func main() {	fmt.Println(letterCombinations("23"))	fmt.Println(letterCombinations("234"))}*/
 |