japaneseGo公式WikiのGoStringsの日本語意訳になります。文字列はUTF-8である必要はありません。GoのソースコードはUTF-8である必要があります。この2つの間には複雑な経路が存在しています。簡単にいうと、文字列には3種類あります。リテラルstring型の値であり、1番目だけがUTF-8である必要があります。2番目はUTF-8で書かれる必要がありますが、その内容は様々な方法で解釈され、任意のバイトへとエンコードされるかもしれません。3番目はあらゆるバイト列を含むことができます。以下を試してみてください。UTF-8でエンコードされています。データは以下のようになります。データは以下のようになります。5c784646e8aa9estring型の値(表示不可、これはUTF-8のストリームになります)のデータは以下のようになります。ffe8aa9eそして証明のため、文字(コードポイント)は以下のようになります。