Строки в Go объявляются с типом string
:
var s string = "hello"
// сокращенная запись
s := "hey"
Практически всегда для строк используются двойные кавычки. Однако они не подходят, когда нужно написать несколько строк. Для этого используются обратные кавычки:
q := `
SELECT *
FROM person
WHERE age > 18
`
Строки можно сравнивать операторами: ==
, >
, <
, <=
, >=
, где строки сравниваются посимвольно в лексическом порядке и по длине. Это свойство часто используется при сортировке массива строк:
"привет" == "привет" // true
"golang" > "go" // true
"golang" > "lang" // false
"go" > "foobar" // true
Базовые операции со строками в любом языке — это конкатенация и интерполяция. Конкатенация осуществляется с помощью знака +
:
"hello " + "world" // "hello world"
В Go нет привычной интерполяции, как в динамических языках. Она реализуется через форматирующую функцию fmt.Sprintf()
:
username := "Ivan"
greetings := fmt.Sprintf("hello, %s", username) // "hello, Ivan"
Узнать длину строки можно с помощью встроенной функции len()
:
len("go") // 2
// будьте внимательны! Функция считает кол-во байт, а не кол-во символов
len("го") // 4
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты