Golang的单引号、双引号与反引号用法

看了目前国内网络上一些参考数榜首的几篇类似本标题的文章,觉得说得不够简明扼要直击本质,甚至有谬误。特此写下本文,以便参考。

单引号single quote: ’

go语言中使用单引号给rune(golang字符类型)初始化常量值。
注意rune类型不同于其它语言的byte或者char,这些通常表示一个字节(8bit)能容纳的内容,存储也是一个字节。rune其实是int32的别名,存储为4个字节,可以存放一个任何种类的文字字符,比如各种unicode字符。

// 下面的'⌘'字符储存为0x2318.
var char1,char2 rune
char1 = 'A'
char2 = '⌘'

双引号double quote: "

双引号用来创建只读的字符串常量。可以是可读的字符,也可以是\xNN表示的16进制字符等等。
它支持转义字符,如\t(空出一个tab位),\n(换行),不能用来直接引用多行字符。

看看下面的例子:

	const sample = "\xbd\xb2\x3d\xbc\x20\xe2\x8c\x98"
    const nihongo = "日本語"
    for index, runeValue := range nihongo {
        fmt.Printf("%#U starts at byte position %d\n", runeValue, index)
    }

输出结果:

U+65E5 '日' starts at byte position 0
U+672C '本' starts at byte position 3
U+8A9E '語' starts at byte position 6

反引号back stick: `

反引号两大主要作用:

  1. 引用多行的字符串常量
  2. 忽略转义字符、特殊字符。比如反斜杠\,单双引号等等

因此,反引号多用在:

  • 输入大段文字时(比如html网页文字);
  • 正则表达式(本身含有很多反斜杠);
  • 含有双引号的文字

参考1:Golang blog Strings, bytes, runes and characters in Go
参考2:CSDN博客[golang]golang中的双引号、单引号、反引号

发布了73 篇原创文章 · 获赞 27 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/sitebus/article/details/104449699
今日推荐