@jeremy_larkin Вы можете разбить строку на массив символов в Golang, используя strings.Split() и получить на выходе массив символов, посмотрите как это работает ниже:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
package main import ( "fmt" "strings" ) func main() { str := "Я тест" // Вывод: [Я т е с т] arr := strings.Split(str, "") fmt.Println(arr) // Вывод: 6 fmt.Println(len(arr)) // Вывод: т fmt.Println(arr[2]) } |
@jeremy_larkin Вы можете разбить строку на символы, используя цикл for
с индексацией:
1 2 3 4 5 |
str := "Hello, world!" for i := 0; i < len(str); i++ { fmt.Printf("%c ", str[i]) } |
Или используйте цикл range
:
1 2 3 4 5 |
str := "Hello, world!" for _, r := range str { fmt.Printf("%c ", r) } |
В первом случае мы индексируем строку, а во втором цикле range
возвращает каждый символ в виде типа rune
.
Обратите внимание, что в Go строка является неизменяемой последовательностью байтов, а не символов. Поэтому, если вы хотите работать с каждым символом в строке как с типом rune
, вам нужно будет использовать цикл range
.