The string
type allows you to store text, which is a series of characters. There are multiple ways to create strings. A literal string is created by writing the text between double quotes.
text := "Hello World"
Because Go strings support UTF-8, the previous example is perfectly valid. Strings hold arbitrary bytes which does not necessarily mean every string will contain valid UTF-8 but string literals will always hold valid UTF-8 sequences.
The zero value of strings is an empty string ""
.
Strings can be concatenated using the +
operator.
text := "Hello " + "World"
Strings can also be defined using backticks ``
. This creates a raw string literal which means characters won't be escaped.
text1 := "Hello\nWorld"
text2 := `Hello
World`
In the previous example, text1
escapes the \n
character which represents a new line while text2
contains the new line character directly. If you compare text1 == text2
the result will be true
.
However, text2 := `Hello\nWorld`
would not escape the \n
character which means the string contains the text Hello\nWorld
without a new line. It would be the equivalent of typing text1 := "Hello\\nWorld"
.