Go中引号的不同作用:单引号、双引号、反引号

1、双引号“ ”

最常用的符号,常用来定义字符串。 双引号中定义的字符串支持转义字符,比如\n将输出换行。

package main
import (
"fmt"
)
func main() {
	a := "i"
	b := "在\\n"
	c := "这里"
	fmt.Println(a, b, c)
}

输出:i 在\n 这里

2、单引号‘ ’

单引号用来定义一个byte或者rune。

package main
import (
"fmt"
)
func main() {
	a := 'i'
	b := '在\\n'	
	c := '这里'
	fmt.Println(a, b, c)
}

这个执行会报错: more than one character in rune literal

单引号中只能是一个字符,修改后

package main
import (
"fmt"
)
func main() {
	a := 'i'
	b := '在'
	c := '这'
	fmt.Println(a, b, c)
}

输出: 105 22312 36825

输出的是字符相对应的的ASCII值。

3、反引号

就是跟波折号~在同一个键上的那个`。 用反引号包括的字符串就表示不接受任何形式的转义。如果字符串中符号太多,就可以用这个反引号来包括起来,省掉很多转义的麻烦,常用来包括HTML以及正则表达式等,还可以用于书写多行消息。

package main
import (
"fmt"
)
func main() {
	a := "i"
	b := \`在\\n\`  //这里用的反引号,会直接输出\\n
	c := "这"
	fmt.Println(a, b, c)
}

输出:i 在\n 这