Введение в работу со строками в Go
Строка представляет собой последовательность из одного или нескольких символов (буквы, цифры, символы), которые могут быть либо постоянной или переменной. Строки, составленные из Unicode, представляют собой неизменяемые последовательности, то есть они неизменны.
Поскольку текст является такой распространенной формой данных, которую мы используем в повседневной жизни, строковый тип данных является очень важным строительным блоком программирования.
В этом уроке по Go будет рассказано, как создавать и печатать строки, как объединять и реплицировать строки и как хранить строки в переменных.
Использование обратных кавычек, например `bar`, создаст необработанный строковый литерал. В необработанном строковом литерале между кавычками может появляться любой символ, за исключением обратных кавычек. Вот пример необработанного строкового литерала:
Обратные косые черты не имеют особого значения внутри необработанных строковых литералов. Например, \n будут отображаться фактические символы, обратный слеш \ и буква n. В отличие от интерпретируемых строковых литералов, в которые \n вставляется актуальная новая строка.
Необработанные строковые литералы могут также использоваться для создания многострочных строк:
Интерпретируемые строковые литералы являются символьными последовательностями между двойными кавычками, как в "bar". В кавычках может появляться любой символ, за исключением новой строки и неэкранированных двойных кавычек.
Вы почти всегда будете использовать интерпретированные строковые литералы, потому что они позволяют использовать escape-символы внутри них.
Теперь, когда вы понимаете, как строки форматируются в Go, давайте посмотрим, как вы можете печатать строки в программах.
При их использовании вы должны использовать import системные пакеты, поэтому простая программа для вывода строки будет выглядеть так:
Давайте объединим строковые литералы "Sammy"и "Shark"вместе с конкатенацией через fmt.Println() оператор:
Если вы хотите использовать пробел между двумя строками, вы можете просто включить этот пробел в строку. В этом примере добавьте пробел в кавычки после Sammy:
+Оператор не может быть использован между двумя разными типами данных. Например, вы не можете объединять строки и целые числа вместе. Если бы вы попытались написать следующее:
Вы получите следующие ошибки:
Если вы хотите создать строку "Sammy27", вы можете сделать это, поместив число 27 в кавычки ("27"), чтобы оно больше не было целым числом, а было строкой. Преобразование чисел в строки для объединения может быть полезно при работе с почтовыми индексами или телефонными номерами. Например, вы не хотите выполнять сложение между кодом страны и кодом города, но вы хотите, чтобы они оставались вместе.
Когда вы объединяете две или более строк посредством конкатенации, вы создаете новую строку, которую вы можете использовать в своей программе.
Чтобы сохранить строку внутри переменной, просто присвойте переменную строке. В этом случае объявите в s качестве вашей переменной:
Примечание. Если вы знакомы с другими языками программирования, возможно, вы записали переменную как sammy. Go, однако, предпочитает более короткие имена переменных. Выбор s имени переменной в этом случае будет считаться более подходящим для стиля, в котором написан Go.
Теперь, когда у вас есть переменная, s установленная на эту конкретную строку, вы можете напечатать переменную следующим образом:
Затем вы получите следующий вывод:
Используя переменные для замены строк, вам не нужно повторно вводить строку каждый раз, когда вы хотите ее использовать, что упрощает работу со строками в ваших программах и манипулирование ими.
Поскольку текст является такой распространенной формой данных, которую мы используем в повседневной жизни, строковый тип данных является очень важным строительным блоком программирования.
В этом уроке по Go будет рассказано, как создавать и печатать строки, как объединять и реплицировать строки и как хранить строки в переменных.
Строковые литералы
В Go строки существуют либо в обратных кавычках `(иногда их называют обратными тиками), либо в двойных кавычках ". В зависимости от того, какие цитаты вы используете, строка будет иметь разные характеристики.Использование обратных кавычек, например `bar`, создаст необработанный строковый литерал. В необработанном строковом литерале между кавычками может появляться любой символ, за исключением обратных кавычек. Вот пример необработанного строкового литерала:
`Say "hello" to Go!`
Обратные косые черты не имеют особого значения внутри необработанных строковых литералов. Например, \n будут отображаться фактические символы, обратный слеш \ и буква n. В отличие от интерпретируемых строковых литералов, в которые \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.`
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.")
Output
Let's print out this string.
Let's print out this string.
При их использовании вы должны использовать import системные пакеты, поэтому простая программа для вывода строки будет выглядеть так:
package main
import "fmt"
func main() {
fmt.Println("Let's print out this string.")
}
Конкатенация строк
Конкатенация означает объединение строк, сквозное, для создания новой строки. Вы можете объединить строки с +оператором. Имейте в виду, что когда вы работаете с числами, +будет оператор для сложения, но при использовании со строками это оператор соединения.Давайте объединим строковые литералы "Sammy"и "Shark"вместе с конкатенацией через fmt.Println() оператор:
fmt.Println("Sammy" + "Shark")
Output
SammyShark
SammyShark
Если вы хотите использовать пробел между двумя строками, вы можете просто включить этот пробел в строку. В этом примере добавьте пробел в кавычки после Sammy:
fmt.Println("Sammy " + "Shark")
Output
Sammy Shark
Sammy Shark
+Оператор не может быть использован между двумя разными типами данных. Например, вы не можете объединять строки и целые числа вместе. Если бы вы попытались написать следующее:
fmt.Println("Sammy" + 27)
Вы получите следующие ошибки:
Output
cannot convert "Sammy" (type untyped string) to type int
invalid operation: "Sammy" + 27 (mismatched types string and int)
cannot convert "Sammy" (type untyped string) to type int
invalid operation: "Sammy" + 27 (mismatched types string and int)
Если вы хотите создать строку "Sammy27", вы можете сделать это, поместив число 27 в кавычки ("27"), чтобы оно больше не было целым числом, а было строкой. Преобразование чисел в строки для объединения может быть полезно при работе с почтовыми индексами или телефонными номерами. Например, вы не хотите выполнять сложение между кодом страны и кодом города, но вы хотите, чтобы они оставались вместе.
Когда вы объединяете две или более строк посредством конкатенации, вы создаете новую строку, которую вы можете использовать в своей программе.
Хранение строк в переменных
Переменные - это символы, которые вы можете использовать для хранения данных в программе. Вы можете думать о них как о пустом поле, которое вы заполняете какими-либо данными или значениями. Строки являются данными, поэтому вы можете использовать их для заполнения переменной. Объявление строк как переменных может облегчить работу со строками в ваших программах Go.Чтобы сохранить строку внутри переменной, просто присвойте переменную строке. В этом случае объявите в s качестве вашей переменной:
s:= "Sammy likes declaring strings."
Примечание. Если вы знакомы с другими языками программирования, возможно, вы записали переменную как sammy. Go, однако, предпочитает более короткие имена переменных. Выбор s имени переменной в этом случае будет считаться более подходящим для стиля, в котором написан Go.
Теперь, когда у вас есть переменная, s установленная на эту конкретную строку, вы можете напечатать переменную следующим образом:
fmt.Println(s)
Затем вы получите следующий вывод:
Output
Sammy likes declaring strings.
Sammy likes declaring strings.
Используя переменные для замены строк, вам не нужно повторно вводить строку каждый раз, когда вы хотите ее использовать, что упрощает работу со строками в ваших программах и манипулирование ими.
Комментариев 0