kaiki
V2EX  ›  问与答

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

  •  
  •   kaiki · Nov 21, 2020 · 5889 views
    This topic created in 2182 days ago, the information mentioned may be changed or developed.
    我个人习惯用单引号,看到很多人代码都用的双引号。
    有的人代码随机用单引号和双引号,看着就很不舒服。
    24 replies  •  2020-11-21 19:17:52 +08:00
    J55s5
    J55s5
    Nov 21, 2020
    1
    大概率是你弄错了
    itskingname
    itskingname
    Nov 21, 2020 via iPhone
    2
    Python 官方建议写 Python 的时候全用单引号。除非遇到必须用双引号的情况。

    其他有些语言,例如 C 和 golang,单引号只能包住一个字符,对于多个字符构成的字符串需要双引号。
    kaiki
    kaiki
    OP
    Nov 21, 2020
    3
    @wzzzx 我也看到大部分都是用的双引号,所以问下有什么讲究
    RiESA
    RiESA
    Nov 21, 2020
    4
    还是看具体什么代码吧,比如 SQL 就区别单双引号
    kaiki
    kaiki
    OP
    Nov 21, 2020
    5
    @RiESA SQL 的确,因为代码立马需要单引号,所以在写 SQL 字符串的时候用双引号
    raaaaaar
    raaaaaar
    Nov 21, 2020 via Android
    6
    看语言啊
    Sylv
    Sylv
    Nov 21, 2020 via iPhone
    7
    @itskingname 第一段来源请求。
    mimzy
    mimzy
    Nov 21, 2020
    8
    @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
    statement
    Nov 21, 2020 via iPhone
    9
    外层双引号内层单引号。一般这么用。 不分内外层随便用
    forgottencoast
    forgottencoast
    Nov 21, 2020
    10
    这应该是各种语言的锅,天生就不应该在同一种场景下同时支持单引号和双引号。
    zgzb
    zgzb
    Nov 21, 2020 via Android
    11
    个人 python 喜欢用单引号,因为外层一个双引号内层几个双引号有些情况下字符串识别不完整
    crab
    crab
    Nov 21, 2020
    12
    统一就可以,别乱套。
    yolee599
    yolee599
    Nov 21, 2020 via Android
    13
    c 语言,字符串用双引号,字符用单引号
    zachlhb
    zachlhb
    Nov 21, 2020 via Android
    14
    语言的问题,其实标准来说单引号是 char,双引号是 varchar,但是很多语言这两个统称为 string,所以导致单双引号都能用了
    labulaka521
    labulaka521
    Nov 21, 2020 via iPhone
    15
    go 单引号双引号有不同含义
    keepeye
    keepeye
    Nov 21, 2020
    16
    如果指字符串语法,得看语言吧:
    语言不区分单双引号的就统一用单引号,如 js python 。
    而像 c go 这类,只能用双引号,没有争议
    keepeye
    keepeye
    Nov 21, 2020
    17
    @keepeye go 支持反引号定义多行字符串,为避免被杠,还是说一下吧
    lovecy
    lovecy
    Nov 21, 2020
    18
    PHP,单引号内部只转义\'和\\,双引号是类似 js 的模板字符串形式,可以插入变量,也会转义 \n \\ \"等字符串
    用法不同其实导致了很多 PHP 代码里单双引号随意用,不过其实也无所谓的,不影响
    junyee
    junyee
    Nov 21, 2020 via iPhone
    19
    看语言。
    引号内部不让转义或展开变量,有的是单引号,有的是双信号。
    zxCoder
    zxCoder
    Nov 21, 2020
    20
    习惯双引号字符串,单引号字符
    pinocc012
    pinocc012
    Nov 21, 2020
    21
    在 perl 里面单引号不允许转义,双引号可以,所以该用啥看情况
    hxtheone
    hxtheone
    Nov 21, 2020
    22
    个人习惯单双引号通用的场景优先用单引号, 其他情况看语法规定
    Chyo
    Chyo
    Nov 21, 2020
    23
    单引号不用按 shift,所以默认用单引号
    dilu
    dilu
    Nov 21, 2020
    24
    PHP 中,双引号可以解析转义字符,可以解析变量,常亮,甚至方法,单引号啥都不行只能表示字符串。

    但是单引号性能会好一点,因为啥都不用解析。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1150 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 60ms · UTC 17:58 · PVG 01:58 · LAX 09:58 · JFK 12:58
    ♥ Do have faith in what you're doing.