Треки
/
Go
Go
/
Салабус
/
Рядки тексту
Ря

Рядки тексту у Go

1 вправа

Про концепцію Рядки тексту

string (рядок тексту) у Go - це незмінна послідовність байтів, які не обовʼязково є символами.

Рядковий літерал записують між подвійними лапками:

const name = "Jane"

Рядки тексту можна зʼєднувати за допомогою оператора +:

"Jane" + " " + "Austen"
// => "Jane Austen"

Деякі спеціальні символи потрібно екранувати за допомогою зворотної скісної риски, наприклад \t для табуляції та \n для нового рядка в рядках тексту.

"How is the weather today?\nIt's sunny"  
// =>
// How is the weather today?
// It's sunny

Пакет strings містить багато корисних функцій для роботи з рядками тексту. Докладніше про функції для роботи з рядками тексту читайте в документації пакета strings. Ось кілька прикладів:

import "strings"

// strings.ToLower returns the string given as argument with all its characters lowercased
strings.ToLower("MaKEmeLoweRCase")
// => "makemelowercase"

// strings.Repeat returns a string with a substring given as argument repeated many times
strings.Repeat("Go", 3)
// => "GoGoGo"

Спеціальні символи

Як уже зазначалося, деякі спеціальні символи потрібно екранувати за допомогою зворотної скісної риски. Нижче наведено докладніший список цих спеціальних символів:

Значення Опис
\a Сигнал або дзвінок
\b Крок назад
\\ Зворотна скісна риска
\t Горизонтальна табуляція
\n Переведення рядка
\f Переведення сторінки
\r Повернення каретки
\v Вертикальна табуляція
\' Одинарна лапка
\" Подвійна лапка
fmt.Println("Joe\nWilliam\nJack\nAverell") 

// Output:
// Joe
// William
// Jack
// Averell

Сирі рядкові літерали

Сирі рядкові літерали використовують як роздільник зворотні лапки (`) замість подвійних лапок, і всі символи в них інтерпретуються буквально: немає потреби екранувати символи чи переведення рядків.

Ось приклад багаторядкового рядка тексту:

const daltons = `Joe
William
Jack
Averell`

Цей рядок тексту займає кілька рядків. Точніше, у ньому є 3 \n. Однак, оскільки це сирий рядковий літерал, нам не потрібно явно вставляти \n у рядок тексту. Переведення рядків будуть інтерпретуватися буквально.

Ось ще кілька прикладів, які порівнюють сирі рядкові літерали зі звичайними рядковими літералами:

`abc`
// same as "abc"

"\"" // regular string literal with 1 character: a double quote
// same as `"` a raw string literal with 1 character: a double quote

`\n
` // raw string literal with 3 character: a backslash, an 'n', and a newline
// same as "\\n\n"  a regular string literal with 3 characters: a backslash, an 'n', and a newline

"\t\n" // regular string literal with 2 characters: a tab and a newline
`\t\n`// raw string literal with 4 characters: two backslashes, a 't', and an 'n'
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці

Вивчити концепцію Рядки тексту