代码中用单引号和双引号有什么讲究吗?

2020-11-21 11:37:35 +08:00
 kaiki
我个人习惯用单引号,看到很多人代码都用的双引号。
有的人代码随机用单引号和双引号,看着就很不舒服。
4456 次点击
所在节点    问与答
24 条回复
wzzzx
2020-11-21 11:50:28 +08:00
大概率是你弄错了
itskingname
2020-11-21 11:53:20 +08:00
Python 官方建议写 Python 的时候全用单引号。除非遇到必须用双引号的情况。

其他有些语言,例如 C 和 golang,单引号只能包住一个字符,对于多个字符构成的字符串需要双引号。
kaiki
2020-11-21 11:53:27 +08:00
@wzzzx 我也看到大部分都是用的双引号,所以问下有什么讲究
RiESA
2020-11-21 11:56:24 +08:00
还是看具体什么代码吧,比如 SQL 就区别单双引号
kaiki
2020-11-21 11:58:07 +08:00
@RiESA SQL 的确,因为代码立马需要单引号,所以在写 SQL 字符串的时候用双引号
raaaaaar
2020-11-21 12:37:51 +08:00
看语言啊
Sylv
2020-11-21 12:48:50 +08:00
@itskingname 第一段来源请求。
mimzy
2020-11-21 12:50:22 +08:00
@itskingname #2 https://www.python.org/dev/peps/pep-0008/ In Python, single-quoted strings and double-quoted strings are the same. This PEP does not make a recommendation for this.

所以 black 默认给我格式化成啥算啥。https://black.readthedocs.io/en/stable/the_black_code_style.html#strings 其实符合语言规范、保持一致即可。
statement
2020-11-21 12:53:29 +08:00
外层双引号内层单引号。一般这么用。 不分内外层随便用
forgottencoast
2020-11-21 13:03:34 +08:00
这应该是各种语言的锅,天生就不应该在同一种场景下同时支持单引号和双引号。
zgzb
2020-11-21 13:23:16 +08:00
个人 python 喜欢用单引号,因为外层一个双引号内层几个双引号有些情况下字符串识别不完整
crab
2020-11-21 13:25:34 +08:00
统一就可以,别乱套。
yolee599
2020-11-21 13:26:17 +08:00
c 语言,字符串用双引号,字符用单引号
zachlhb
2020-11-21 13:33:43 +08:00
语言的问题,其实标准来说单引号是 char,双引号是 varchar,但是很多语言这两个统称为 string,所以导致单双引号都能用了
labulaka521
2020-11-21 14:35:20 +08:00
go 单引号双引号有不同含义
keepeye
2020-11-21 14:38:56 +08:00
如果指字符串语法,得看语言吧:
语言不区分单双引号的就统一用单引号,如 js python 。
而像 c go 这类,只能用双引号,没有争议
keepeye
2020-11-21 14:39:54 +08:00
@keepeye go 支持反引号定义多行字符串,为避免被杠,还是说一下吧
lovecy
2020-11-21 14:44:45 +08:00
PHP,单引号内部只转义\'和\\,双引号是类似 js 的模板字符串形式,可以插入变量,也会转义 \n \\ \"等字符串
用法不同其实导致了很多 PHP 代码里单双引号随意用,不过其实也无所谓的,不影响
junyee
2020-11-21 15:20:15 +08:00
看语言。
引号内部不让转义或展开变量,有的是单引号,有的是双信号。
zxCoder
2020-11-21 15:43:54 +08:00
习惯双引号字符串,单引号字符

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/727781

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX