Этот сайт использует cookies. Продолжение работы с сайтом означает, что Вы согласны!
Получение фрагмента строки
Строки поддерживают операцию извлечения среза, которая возвращает указанный фрагмент в виде строки. Формат операции:
<Фрагмент> = <Строка>[<Начало>:<Конец>]
Параметры <Начало>
и <Конец>
являются необязательными. Если параметр <Начало>
не указан, то используется значение 0
. Если параметр <Конец>
не указан, то возвращается фрагмент до конца строки. Следует также заметить, что элемент с индексом, указанном в этом параметре, не входит в возвращаемый фрагмент.
Теперь рассмотрим несколько примеров. Сначала получим все элементы:
s1 := "test тест"
s2 := s1[:]
fmt.Println(s2) // test тест
fmt.Printf("%T\n", s2) // string
Получим фрагменты без первого и последнего элементов исходной строки:
s1 := "123456"
s2 := s1[1:] // Без первого элемента
fmt.Println(s2) // 23456
s3 := s1[:len(s1) - 1] // Без последнего элемента
fmt.Println(s3) // 12345
Получим первые два элемента:
s1 := "123456"
s2 := s1[0:2] // Байт с индексом 2 не входит в диапазон
fmt.Println(s2) // 12
А теперь получим последний элемент:
s1 := "123456"
s2 := s1[len(s1) - 1:] // Последний элемент
fmt.Println(s2) // 6
И, наконец, выведем фрагмент от второго элемента до четвертого включительно:
s1 := "123456"
s2 := s1[1:4] // Возвращаются элементы с индексами 1, 2 и 3
fmt.Println(s2) // 234
Обратите внимание: индексы задают позицию в байтах, а не символах. Поэтому можно получить фрагмент символа, так как один русский символ кодируется двумя байтами:
s1 := "тест"
s2 := s1[0:1] // Возвращается байт с индексом 0
fmt.Printf("%q\n", s2) // "\xd1"
s3 := s1[0:2] // Возвращается первый символ
fmt.Printf("%s\n", s3) // т
Помощь сайту
ЮMoney (Yandex-деньги): 410011140483022
ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов