Julia 中的单引号与双引号

Single vs Double quotes in Julia

Julia 中的单引号和双引号有什么区别?

与Python不同,对于字符串,它不允许单引号:

> s = 'abc'
syntax: invalid character literal
> s = "abc"
> print(s)
abc

但是当尝试用单引号引用双引号时,是允许的:

> s = '"'
> print(s)
"

Julia 中的单引号有什么用?是否有 Python 的 PEP 之类的文档来解释不使用单引号的原因?

像 C/C++ 中那样想它;单引号构成 Char,而双引号构成 String(参见 here)。

julia> c = 'a'
'a'
julia> typeof(c)
Char
julia> s = "a"
"a"
julia> typeof(s)
String
julia> s = "ab"
"ab"
julia> typeof(s)
String

在Python中我们只是使用长度为1的字符串作为字符,但是Julia会区分它们,所以我们得到

julia> typeof("abc"[1:1])
String    
julia> typeof("abc"[1])
Char

即使在Python我们有

>>> type("abc"[0:1])
<type 'str'>
>>> type("abc"[0])
<type 'str'>