go語言中不傾向使用單引號表示字符串,單引號用於表示Golang的一個特殊類型:rune,類似其他語言的byte但又不完全一樣,是指:碼點字面量(Unicode code point),不做任何轉義的原始內容
雙引號用來創建可解析的字符串字面量(支持轉義,但不能用來引用多行)
反引號用來創建原生的字符串字面量,這些字符串可能由多行組成(不支持任何轉義序列),原生的字符串字面量多用於書寫多行消息、HTML以及正則表達式
package main
import (
"fmt"
)
func main() {
fmt.Println("hello world \t hehe")
fmt.Println(`hello
world
\t hehe`)
}
// 輸出
$ go run src/hello/hello.go
hello world hehe
hello
world
\t hehe
Go語言的字符串類型string在本質上就與其他語言的字符串類型不同:
Java的String、C++的std::string以及Python3的str類型都只是定寬字符序列
Go語言的字符串是一個用UTF-8編碼的變寬字符序列,它的每一個字符都用一個或多個字節表示,即:一個Go語言字符串是一個任意字節的常量序列。
參考
https://studygolang.com/articles/7312
https://studygolang.com/articles/8431
https://blog.csdn.net/wanchope/article/details/53413760