GO语言的字符

字符与字符串的区别

  • 字符串:通常用于表示整个文本系列字符,使用双引号")括起来。
  • 符文(Rune):Go 语言中用来代表单个字符,使用单引号')书写。

核心概念:Go 使用 Unicode 标准存储符文。符文在底层是作为数字代码(Unicode 码点)保存的,而不是字符本身的图形。

符文的输出特性

  • 如果将符文传递给 fmt.Println,输出的将是其对应的数字代码,而不是原始字符。
  • 示例映射
    • 'A' → 输出 65
    • 'B' → 输出 66
    • '北' → 输出 21271
    • '*'(其他语言字符) → 输出对应码点(如 1174

符文中的转义序列

与字符串类似,符文也可以使用反斜杠 “ 表示难以直接包含的字符,输出同样为对应的数字代码:

  • '\t'(制表符) → 输出 9
  • '\n'(换行符) → 输出 10
  • '\\'(反斜杠本身) → 输出 92
  • '\"'(双引号) / '\''(单引号)同理。

代码演示与解析

package main

import "fmt"

func main() {
    fmt.Println("foxdevelop.com")      // 字符串:正常输出 foxdevelop.com
    fmt.Println("b")            // 字符串:正常输出 b
    
    fmt.Println('b')            // 符文:输出 98 (Unicode 码点)
    fmt.Println('a')            // 符文:输出 97
    fmt.Println('北')           // 符文:输出 21271
    
    fmt.Println('\n')           // 转义符文:输出 10
    fmt.Println('\t')           // 转义符文:输出 9
    fmt.Println('\\')           // 转义符文:输出 92
}Code language: JavaScript (javascript)

实际运行输出结果

foxdevelop.com
b
98
97
21271
10
9
92Code language: CSS (css)

(进程退出代码 0 表示成功)

对比

特性字符串 (String)符文 (Rune)
引号双引号 "单引号 '
含义文本序列单个 Unicode 字符
Println 输出原始文本(如 b数字代码(如 98
底层字节序列int32 (Unicode 码点)

注意:若想将符文以字符形式输出,通常需结合 fmt.Printf("%c", 'A') 或使用字符串转换 string('A')

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注