Literal strings are always of type String
:
julia> typeof("hello") String
This is also true if they contain UTF-8 characters that cannot be represented in ASCII, as in this example:
julia> typeof("Güdrun")String
UTF-16 and UTF-32 are also supported. Strings are contained in double quotes (" "
) or triple quotes (""" """
). They are immutable, which means that they cannot be altered once they have been defined:
julia> s = "Hello, Julia" julia> s[2] = 'z' ERROR: MethodError: no method matching setindex!(::String, ::Char, ::Int64)
String
is a succession, or an array of characters (see the Ranges and arrays section) that can be extracted from the string by indexing it, starting from1:
with str = "Julia"
, str[1]
returns the character 'J'
, and str[end]
returns the character 'a'
, the last character in the string. The index of the last byte is also given by endof(str)
, and length()
returns the number of characters. These two are different if the string contains multi-byte Unicode characters...