V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
kaiki
V2EX  ›  问与答

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

  •  
  •   kaiki · 12 天前 · 1794 次点击
    我个人习惯用单引号,看到很多人代码都用的双引号。
    有的人代码随机用单引号和双引号,看着就很不舒服。
    24 条回复    2020-11-21 19:17:52 +08:00
    wzzzx
        1
    wzzzx   12 天前
    大概率是你弄错了
    itskingname
        2
    itskingname   12 天前 via iPhone
    Python 官方建议写 Python 的时候全用单引号。除非遇到必须用双引号的情况。

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

    但是单引号性能会好一点,因为啥都不用解析。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3753 人在线   最高记录 5298   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 18ms · UTC 10:31 · PVG 18:31 · LAX 02:31 · JFK 05:31
    ♥ Do have faith in what you're doing.