Как получить 2d слайс
На вход получаю слайс строк, например ["95", "46"]. Нужно сделать функцию, которая преобразует эти элементы по символу и отправляет их в двумерный слайс. Попробовал сделать так, но ответ не соответствует ожидаемому. Получаю: [[9] [5] [4] [6]], а нужно [[9 5] [4 6]]
package main
import "fmt"
func divideStr(strs []string) [][]string {
res := make([][]string, 0)
for i := range strs {
chars := []rune(strs[i])
for i := 0; i < len(chars); i++ {
char := []string{}
char = append(char, string(chars[i]))
res = append(res, char)
}
}
return res
}
func main() {
fmt.Println(divideStr([]string{"95", "46"}))
}
Подскажите как исправить код, чтобы получить ожидаемый результат?
Ответы (1 шт):
Автор решения: Xander
→ Ссылка
Я поправил, теперь выдаёт ожидаемый результат:
package main
import "fmt"
func divideStr(strs []string) [][]string {
res := make([][]string, 0)
for i := range strs {
// Переписал отсюда
runes := []rune(strs[i])
chars := []string{}
for j := 0; j < len(runes); j++ {
chars = append(chars, string(runes[j]))
}
res = append(res, chars)
// до этого места
}
return res
}
func main() {
fmt.Println(divideStr([]string{"95", "46"}))
}