Go 中的单引号 (‘)、双引号 (“) 和反引号 (`)

news/2025/1/13 18:29:53/

在 Go 中,单引号 (')、双引号 (") 和反引号 (`) 都有不同的用途和含义,具体如下:

1. 单引号 (')

单引号用于表示 字符字面量(单个字符)。在 Go 中,字符是一个单独的 Unicode 字符,并且它的类型是 rune(即 int32 类型)。

  • 表示单个字符(rune):

    var ch rune = 'A' // 表示字符 A,其类型是 rune(即 int32)
  • 注意

    • 你只能用单引号表示一个字符。如果尝试使用单引号表示多个字符或者空字符,编译器会报错。
    • 例如,'AB''' 都是非法的字符字面量。

2. 双引号 (")

双引号用于表示 字符串字面量。字符串是由零个或多个字符组成的一个序列,它的类型是 string(即一个包含字符序列的类型)。

  • 表示字符串

    var str string = "Hello, world!" // 表示字符串
  • 转义字符: 字符串中的特殊字符(例如换行符、制表符、引号本身等)可以使用反斜杠进行转义。

    var str = "Hello\nWorld" // 包含换行符 
    var str2 = "She said, \"Hello!\"" // 包含双引号
  • 注意

    • 字符串字面量是不可变的。
    • 可以表示空字符串:""

3. 反引号 (`)

反引号用于表示 原始字符串字面量(raw string literals)。与双引号不同,反引号字符串不支持转义字符,字符串中的所有内容会被按原样处理,包括换行符、制表符等。原始字符串通常用于处理多行文本或不需要转义的特殊字符。

  • 表示原始字符串

    var rawStr = `Hello, world!`
    var multiLineStr = `This is a 
    multi-line
    string.`
    
  • 特点

    • 可以跨越多行。
    • 不支持转义字符(即不会像双引号那样处理 \n, \t, \\, \" 等转义序列)。
    • 如果你需要在字符串中包含反引号 (`) 本身,可以使用 \` 来转义它。
    var str = `This is a backtick: \`` // 字符串中包含反引号
  • 用途

    • 适合表示文件路径(尤其是Windows路径)、正则表达式、SQL 查询等,尤其是当这些内容中可能包含反斜杠或其他特殊字符时。

总结:

  • 单引号 ('):用于表示 单个字符(rune 类型),例如 'A'
  • 双引号 ("):用于表示 字符串(string 类型),并支持转义字符,例如 "Hello\nWorld"
  • 反引号 (`):用于表示 原始字符串,不支持转义字符,可以包含换行符,适用于需要精确保留内容的场景,例如多行字符串、文件路径等。

http://www.ppmy.cn/news/1562860.html

相关文章

转运机器人在物流仓储行业的优势特点

在智能制造与智慧物流的浪潮中,一款革命性的产品正悄然改变着行业的面貌——富唯智能转运机器人,它以卓越的智能科技与创新的设计理念,引领着物流领域步入一个全新的高效、智能、无人的时代。 一、解放双手,重塑物流生态 富唯智能…

前端拿到zip中所有文件并下载为新的zip文件

问题原因:后端返回了一个zip格式文件供前端下载,然后下载后,形成了zip套zip的形式,当后端不愿处理时,前端不能坐以待毙 PS:当压缩包文件量过大,前端可能会出问题(脑测,未…

天天 AI-250110:今日热点-字节豆包Web端反超百度文心一言,DeepSeek也发力了|量子位智库月报

2AGI.NET:天天AI-20250109 人工智能(AI)和硬件技术继续以惊人的速度发展,不断刷新我们对技术边界的认知。从英伟达的RTX 50系列显卡到清华团队的数学推理突破,再到AI算力的多个利好,这些技术的发展正在推动…

IOS HTTPS代理抓包工具使用教程

打开抓包软件 在设备列表中选择要抓包的 设备,然后选择功能区域中的 HTTPS代理抓包。根据弹出的提示按照配置文件和设置手机代理。如果是本机则会自动配置,只需要按照提醒操作即可。 iOS 抓包准备 通过 USB 将 iOS 设备连接到电脑,设备需解…

【Rust练习】27.Module

练习题来自:https://practice-zh.course.rs/crate-module/module.html 建议在命令行下操作完成本节内容,Windows 11/10 首选 Windows 终端,好看,支持渲染中文字体,缺点是功能太少了;其次推荐 mobaxterm&am…

Jaeger UI使用、采集应用API排除特定路径

Jaeger使用 注: Jaeger服务端版本为:jaegertracing/all-in-one-1.6.0 OpenTracing版本为:0.33.0,最后一个版本,停留在May 06, 2019。最好升级到OpenTelemetry。 Jaeger客户端版本为:jaeger-client-1.3.2。…

【pytorch】注意力机制-1

1 注意力提示 1.1 自主性的与非自主性的注意力提示 非自主性提示: 可以简单地使用参数化的全连接层,甚至是非参数化的最大汇聚层或平均汇聚层。 自主性提示 注意力机制与全连接层或汇聚层区别开来。在注意力机制的背景下,自主性提示被称为查…

vue -关于浏览器localstorge数据定期清除的实现

1.实现背景 用户登录时的信息存在了localstorge中,但它会一直存在。一般来说,我们希望这个数据能够定期被清除掉,以下一个定时清除的实现。 2.实现原理 在用户登录时,将用户信息存入localstorge的同时,将当前时间作…