Go语言中的单引号、双引号、反引号

diegodu · · 26087 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

=Start=

搜索关键字:

golang single quotes 
golang double quotes 
golang back quotes

参考结果:

结论写在最前:在Go语言中不倾向于使用单引号来表示字符串,请根据需要使用双引号或反引号。


一个Go语言字符串是一个任意字节的常量序列。Go语言的字符串类型在本质上就与其他语言的字符串类型不同。Java的String、C++的std::string以及python3的str类型都只是定宽字符序列,而 Go语言的字符串是一个用UTF-8编码的变宽字符序列,它的每一个字符都用一个或多个字节表示 

Go语言中的字符串字面量使用 双引号 或 反引号 来创建 

  • 双引号用来创建 可解析的字符串字面量 (支持转义,但不能用来引用多行);
  • 反引号用来创建 原生的字符串字面量 ,这些字符串可能由多行组成(不支持任何转义序列),原生的字符串字面量多用于书写多行消息、HTML以及正则表达式

There are two forms: raw string literals and interpreted string literals.

  • Raw string literals are character sequences between back quotes, as in foo .
  • Interpreted string literals are character sequences between double quotes, as in “bar”.

A rune literal represents a rune constant, an integer value identifying a Unicode code point. A rune literal is expressed as one or more characters enclosed in single quotes, as in ‘x’ or ‘\n’. Within the quotes, any character may appear except newline and unescaped single quote. A single quoted character represents the Unicode value of the character itself, while multi-character sequences beginning with a backslash encode values in various formats.

=

根据我找到的资料以及碰到的情况来看, Go语言的单引号一般用来表示「rune literal」 ,即——码点字面量。

参考链接:
  • https://golang.org/ref/spec#String_literals
  • https://golang.org/ref/spec#Rune_literals
  • http://teapottable.com/blog/starting-out-with-go-lang/

=EOF=


有疑问加站长微信联系(非本文作者)

本文来自:博客园

感谢作者:diegodu

查看原文:Go语言中的单引号、双引号、反引号

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

26087 次点击  
加入收藏 微博
1 回复  |  直到 2018-03-06 15:25:52
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传