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

devtools/2025/1/12 19:49:31/

在 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/devtools/149529.html

相关文章

【Spring Boot 应用开发】-04 自动配置-数据源

深入讲解 Spring Boot 自动配置中的数据源配置 为了更好地理解 Spring Boot 中的自动配置机制,我们以数据源配置机制为例,按照以下顺序进行讲解: 不使用任何框架来连接数据源的方式使用 Spring MVC 连接数据源的方式使用 Spring Boot 自动配…

深度求索的新突破——DeepSeek-V3

在人工智能领域不断发展的浪潮中,DeepSeek-V3的出现犹如一颗璀璨的新星,引起了广泛的关注和热议 DeepSeek-V3是由杭州深度求索人工智能基础技术研究有限公司于2024年12月26日发布的混合专家(MoE)语言模型 官网:https…

2025新春烟花代码(二)HTML5实现孔明灯和烟花效果

效果展示 源代码 <!DOCTYPE html> <html lang"en"> <script>var _hmt _hmt || [];(function () {var hm document.createElement("script");hm.src "https://hm.baidu.com/hm.js?45f95f1bfde85c7777c3d1157e8c2d34";var …

vue常用功能收集

文章目录 vue如何实现输入条件后点击enter进行查询vue项目启动修改后报错vue禁止iframe里面的右键启动 vue如何实现输入条件后点击enter进行查询 在Vue中&#xff0c;您可以通过监听键盘事件来实现在输入条件后点击Enter进行查询的功能。以下是一个简单的示例&#xff1a; &l…

视频编辑最新SOTA!港中文Adobe等发布统一视频生成传播框架——GenProp

文章链接&#xff1a;https://arxiv.org/pdf/2412.19761 项目链接&#xff1a;https://genprop.github.io 亮点直击 定义了一个新的生成视频传播问题&#xff0c;目标是利用 I2V 模型的生成能力&#xff0c;将视频第一帧的各种变化传播到整个视频中。 精心设计了模型 GenProp&…

C++ STL 中的 `unordered_map` 和 `unordered_set` 总结

1. unordered_map unordered_map 是一个基于哈希表实现的容器&#xff0c;存储键值对&#xff08;key-value&#xff09;&#xff0c;每个键必须唯一&#xff0c;可以快速插入、删除、查找。 基本特性 存储结构&#xff1a;键值对 (key-value)。键唯一性&#xff1a;每个键在…

Vue2与Vue3在项目开发中的选择:深入探讨

文章目录 前言一、Vue2的优势与挑战二、Vue3的进步与特性三、如何做出选择&#xff1f;结语 前言 Vue.js 是一个用于构建用户界面的渐进式JavaScript框架。Vue2和Vue3是其两个主要版本&#xff0c;它们各自拥有一系列特点和优势。随着Vue3的发布&#xff0c;开发者们面临着在新…

【cs.AI】25.1.8 arxiv更新速递

—第1篇---- ===== Beyond Sight: Finetuning Generalist Robot Policies with Heterogeneous Sensors via Language Grounding 🔍 关键词: 机器人策略, 异构传感器, 语言基础, 多模态交互 链接1 摘要: 与世界的互动是多感官体验:实现有效的通用交互需要利用所有可用的…