Введение в работу со строками в Go

string - это последовательность из одного или нескольких символов (букв, цифр, символов), которые могут быть константой или переменной. Строки, состоящие изUnicode, являются неизменяемыми последовательностями, то есть неизменными.

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

В этом уроке по Go будет рассказано, как создавать и печатать строки, как объединять и реплицировать строки и как хранить строки в переменных.

Строковые литералы

В Go строки существуют либо в обратных кавычках+\ + `(иногда называемых обратными тиками), либо в двойных кавычках". В зависимости от того, какие цитаты вы используете, строка будет иметь разные характеристики.

Использование обратных кавычек, как в+\ ++bar+ \ ``, создаст строковый литералraw. В необработанном строковом литерале между кавычками может появляться любой символ, за исключением обратных кавычек. Вот пример необработанного строкового литерала:

`Say "hello" to Go!`

Обратные косые черты не имеют особого значения внутри необработанных строковых литералов. Например, будет отображаться как фактические символы, обратная косая черта\ и букваn. В отличие от интерпретируемых строковых литералов, в которые вставляет фактическую новую строку.

Необработанные строковые литералы могут также использоваться для создания многострочных строк:

`Go is expressive, concise, clean, and efficient.
Its concurrency mechanisms make it easy to write programs
that get the most out of multi-core and networked machines,
while its novel type system enables flexible and modular
program construction. Go compiles quickly to machine code
yet has the convenience of garbage collection and the power
of run-time reflection. It's a fast, statically typed,
compiled language that feels like a dynamically typed,
interpreted language.`

Интерпретируемые строковые литералы представляют собой последовательности символов в двойных кавычках, как в"bar". В кавычках может появляться любой символ, за исключением новой строки и двойных кавычек без экранирования.

"Say \"hello\" to Go!"

Вы почти всегда будете использовать интерпретированные строковые литералы, потому что они допускают использование escape-символов внутри них.

Теперь, когда вы понимаете, как строки форматируются в Go, давайте посмотрим, как вы можете печатать строки в программах.

Печать строк

Вы можете распечатать строки, используя пакетfmt из системной библиотеки и вызывая функциюPrintln():

fmt.Println("Let's print out this string.")
OutputLet's print out this string.

У вас должны быть системные пакетыimport, когда вы их используете, поэтому простая программа для распечатки строки будет выглядеть так:

package main

import "fmt"

func main() {
    fmt.Println("Let's print out this string.")
}

Конкатенация строк

Concatenation означает соединение строк вместе, от конца до конца, для создания новой строки. Вы можете объединять строки с помощью` operator. Keep in mind that when you work with numbers, ` будет оператором для сложения, но при использовании со строками это будет оператор соединения.

Давайте объединим строковые литералы"Sammy" и"Shark" вместе с конкатенацией с помощью оператораfmt.Println():

fmt.Println("Sammy" + "Shark")
OutputSammyShark

Если вы хотите использовать пробел между двумя строками, вы можете просто включить этот пробел в строку. В этом примере добавьте пробел в кавычки послеSammy:

fmt.Println("Sammy " + "Shark")
OutputSammy Shark

Оператор+ нельзя использовать между двумя разными типами данных. Например, вы не можете объединять строки и целые числа вместе. Если бы вы попытались написать следующее:

fmt.Println("Sammy" + 27)

Вы получите следующие ошибки:

Outputcannot convert "Sammy" (type untyped string) to type int
invalid operation: "Sammy" + 27 (mismatched types string and int)

Если вы хотите создать строку"Sammy27", вы можете сделать это, заключив число27 в кавычки ("27"), чтобы оно больше не было целым числом, а было строкой. Преобразование чисел в строки для объединения может быть полезно при работе с почтовыми индексами или номерами телефонов. Например, вы не хотите выполнять сложение между кодом страны и кодом города, но вы хотите, чтобы они оставались вместе.

Когда вы объединяете две или более строк посредством конкатенации, вы создаете новую строку, которую вы можете использовать в своей программе.

Хранение строк в переменных

Variables - это символы, которые вы можете использовать для хранения данных в программе. Вы можете думать о них как о пустом поле, которое вы заполняете какими-либо данными или значениями. Строки являются данными, поэтому вы можете использовать их для заполнения переменной. Объявление строк как переменных может облегчить работу со строками в ваших программах Go.

Чтобы сохранить строку внутри переменной, просто присвойте переменную строке. В этом случае объявитеs в качестве переменной:

s := "Sammy likes declaring strings."

[.note] #Note: Если вы знакомы с другими языками программирования, возможно, вы записали переменную какsammy. Однако Go предпочитает более короткие имена переменных. Выборs для имени переменной в этом случае будет считаться более подходящим для стиля, в котором написан Go.
#

Теперь, когда у вас установлена ​​переменнаяs для этой конкретной строки, вы можете распечатать переменную следующим образом:

fmt.Println(s)

Затем вы получите следующий вывод:

OutputSammy likes declaring strings.

Используя переменные для замены строк, вам не нужно повторно вводить строку каждый раз, когда вы хотите ее использовать, что упрощает работу со строками в ваших программах и манипулирование ими.

Заключение

В этом руководстве были рассмотрены основы работы со строковым типом данных на языке программирования Go. Создание и печать строк, объединение и репликация строк и сохранение строк в переменных предоставят вам основы для использования строк в ваших программах Go.