Golang функция split для string

Пользователь

от julian , в категории: Общие вопросы , 4 года назад

Я начинающий программист на Golang и у меня возникли небольшие трудности с функцией split: как и для чего её использовать? Накидайте примеров кода, где используется данный метод.

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket

5 ответов

Пользователь

от herminio , 4 года назад

Функция split используется для разбиения строки на массив по словам, разделителем для слов может являться любой символ, который вы укажите в параметрах функции.

Пользователь

от gracie , 4 года назад

Так как переменная стринг является неизменяемым типом данных, то есть, если ты туда вбил какое-то значение, то уже никак не сможешь его изменить, поэтому, чтобы работать с каждым словом отдельно, нужно применить разбиение строки на массив, с помощью функции split.

Пользователь

от julian , 4 года назад

Спасибо, за пояснение о том, что такое функция split. Теперь я знаю, как его правильно есть). Покажите пример кода, как это должно работать

Пользователь

от gracie , 4 года назад

Ну например:

package main

 

import (

      "fmt"

      "regexp"

)

 

const refString = "Mary*had,a%little_lamb"

 

func main() {

 

      words := regexp.MustCompile("[*,%_]{1}").Split(refString, -1)

      for idx, word := range words {

                fmt.Printf("Word %d is: %s\n", idx, word)

      }

 

}

Здесь у нас есть константа refString, в которой хранится некоторая строка. Создаем переменную words, которая будет являться нашим массивом со словами. Она равна функции regexp.MustCompile("[*,%_]{1}").Split(refString, -1), в первой скобке указываем символы, которые выполняют роль разделителей слов в предложении, во второй скобке указываем переменную string, которую нужно разбить на слова.

Пользователь

от julian , 4 года назад
gracie: Ну например: package main   import (       "fmt"       "regexp" )   const refString = "Mary*had,a%little_lamb"   func main() {         words := regexp.MustCompile("[*,%_]{1}").Split(refString, -1)       for idx, word := range words {                 fmt.Printf("Word %d is: %s\n", idx, word)       }   }Здесь у нас есть константа refString, в которой хранится некоторая строка. Создаем переменную words, которая будет являться нашим массивом со словами. Она равна функции regexp.MustCompile("[*,%_]{1}").Split(refString, -1), в первой скобке указываем символы, которые выполняют роль разделителей слов в предложении, во второй скобке указываем переменную string, которую нужно разбить на слова.

Спасибо теперь я полностью понял, как это делается. Пойду применять новые знания на практике, чтобы закрепить полученную информацию, так сказать)