Golang的單引號、雙引號與反引號

wiowei發表於2019-02-16

Go語言的字串型別string在本質上就與其他語言的字串型別不同:

  • Java的String、C++的std::string以及Python3的str型別都只是定寬字元序列

  • Go語言的字串是一個用UTF-8編碼的變寬字元序列,它的每一個字元都用一個或多個位元組表示

即:一個Go語言字串是一個任意位元組的常量序列

Golang的雙引號和反引號都可用於表示一個常量字串,不同在於:

  • 雙引號用來建立可解析的字串字面量(支援轉義,但不能用來引用多行)

  • 反引號用來建立原生的字串字面量,這些字串可能由多行組成(不支援任何轉義序列),原生的字串字面量多用於書寫多行訊息、HTML以及正規表示式

而單引號則用於表示Golang的一個特殊型別:rune,類似其他語言的byte但又不完全一樣,是指:碼點字面量(Unicode code point),不做任何轉義的原始內容。


參考連結:https://crazyof.me/blog/archives/2539.ht…

相關文章