Go 語言之父帶你重新認識字串、位元組、rune 和字元

KevinYan發表於2020-02-11

這兩天被一些字串的問題困擾了一段時間,通過Google搜到了以前羅伯·派克發表在Go Blog的文章,文章中為讀者詳述了Go語言中字串與我們經常提起的位元組、字元還有rune的關係和相互之間的不同。正如派克在文中所說

字串這個話題對於一篇部落格文章來說似乎太簡單了,但是要很好地使用它們,不僅需要了解它們的工作原理,還需要了解位元組,字元和 rune 的區別,以及 Unicode 和 UTF- 8,字串和字串直接量之間的區別,以及其他甚至更細微的區別。

原文地址:https://blog.golang.org/strings

文章篇幅還是挺長的,大家時間都很寶貴所以我先把文章探究的問題的結論放在前面,有時間的同學還是建議整篇讀一下。

  • Go 原始碼始終為 UTF-8。
  • 字串可以包含任意位元組。
  • 字串文字中不包含位元組級轉義符時字串始終包含有效的 UTF-8 序列。
  • 代表 Unicode 碼點的位元組序列稱為 rune
  • 在 Go 中不會保證字串中的字元被規範化。

原文的語法、句式都很好學習Go 語言的同時還能加強一下英文閱讀推薦去讀英文原文,有翻譯不清楚的歡迎指正。

正好看見 LearnKu 也有翻譯計劃今天就翻譯了下,LearnKu這個翻譯功能做的不錯,不用整篇翻譯完再提交中間還能休息下。不過有個標題忘記改成中文了發現全篇翻譯完就不能再編輯了,有知道怎麼編輯的可以留言說一下?。

譯文連結:重新認識Go中的字串

Go語言之父帶你重新認識字串、位元組、rune和字元
圖片

本作品採用《CC 協議》,轉載必須註明作者和本文連結

公眾號:網管叨bi叨 | Golang、PHP、Laravel、Docker等學習經驗分享

相關文章