Go Strings: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 10: Line 10:
=Overview=
=Overview=


The pre-declared String [[Go Concepts - Lexical Structure#Pre-Declared_Identifiers||type identifier]] is <tt>string</tt>. String values are (possibly empty) sequences of bytes. String values are ''immutable''.
The pre-declared String [[Go Concepts - Lexical Structure#Pre-Declared_Identifiers|type identifier]] is <tt>string</tt>. String values are (possibly empty) sequences of bytes. String values are ''immutable''.


=String Literals=
=String Literals=

Revision as of 18:16, 22 March 2016

External

Internal

Overview

The pre-declared String type identifier is string. String values are (possibly empty) sequences of bytes. String values are immutable.

String Literals

A string literal is a string constant obtained from concatenating a sequence of characters.

Raw String Literals

Raw string literals are sequences of characters enclosed by backquotes (backticks) `. Any other character is taken literally, back slashes have no special meaning and new lines can appear. Carriage return characters inside raw string literals are discarded. The following code:

var sl = `Example \n \t
...
"something"`
fmt.Println(sl);

will produce:

Example \n \t
...
"something"

Interpreted String Literals

Interpreted string literals are character sequences between double quotes, as in "example".

Interpreted strings allow escaping (\n or \t).

TODO parse https://golang.org/ref/spec#String_literals

String Operators and Functions