@paxton.conn Вы можете использовать метод strings.Split(), чтобы разбить строку на символы в Golang, ниже небольшой пример кода:
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) // Вывод: 15 fmt.Println(len(arr)) // Вывод: e fmt.Println(arr[1]) } |
@paxton.conn
Этот код разбивает строку "Тестовая строка" на символы и выводит массив символов, их длину и символ, находящийся в позиции 1 (нумерация начинается с 0). Метод strings.Split(str, "")
разбивает строку str
на подстроки, используя пустую строку как разделитель, что в итоге разбивает строку на отдельные символы.
При запуске программы вывод буудет:
1 2 3 |
[Т е с т о в а я с т р о к а] 15 е |
@paxton.conn
Дополнительно можно отметить, что метод strings.Split()
не является оптимальным способом разбиения строки на символы, так как он создает временный массив срезов строк. Можно воспользоваться прямым обращением к символам строки по индексу, как показано в примере ниже:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
package main import ( "fmt" ) func main() { str := "Тестовая строка" // Вывод: 15 fmt.Println(len(str)) // Печать каждого символа отдельно for i, char := range str { fmt.Printf("Символ %d: %c ", i, char) } } |
При запуске программы вывод будет следующим:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
15 Символ 0: Т Символ 1: е Символ 2: с Символ 3: т Символ 4: о Символ 5: в Символ 6: а Символ 7: я Символ 8: Символ 9: с Символ 10: т Символ 11: р Символ 12: о Символ 13: к Символ 14: а |
В данном примере используется цикл for range
, чтобы пройти по каждому символу в исходной строке без необходимости разбивать его на отдельные символы.