Golang の文字列引用符
Golang では、一重引用符を使用した文字列は、文字列ではなく、単一の文字またはルーンを表します。一重引用符で囲まれた変数に文字列を代入しようとすると、言語の型規則に違反するため、エラーが発生します。
単一文字と文字列
A一重引用符は、単一の Unicode コード ポイントであるルーンを囲みます。例:
a := 'a' // represents the rune 'a'
対照的に、二重引用符は 0 個以上のルーン文字のシーケンスである文字列を囲みます。
a := "hello" // represents the string "hello"
エラー メッセージ
受け取ったエラー メッセージは、文字列 (一重引用符で囲まれた) を変数に代入しようとしていることを示しています。文字列を入力します。 Golang は一重引用符で囲まれた値をルーンとして解釈し、型の不一致について警告します。
一部のシステムでは、「不正なルーン リテラル」というエラーが表示される場合があります。これは、一重引用符が有効なルーン リテラルではないことを意味します。 。 Go プレイグラウンドでは、一重引用符の使用に関連する一連の構文エラーが表示される場合があります。
他の言語との比較
Python や Perl とは異なり、Golang は次の点を区別します。文字と文字列の間。 Golang は複数のコード ポイントを使用して幅広い文字を表現できる Unicode をサポートしているため、この区別が必要です。
コード ポイントとルーン
Golang では、ルーンはUnicode コードポイントを表す整数。文字列はルーンで構成されています。たとえば、文字列「hello」は、次の一連のルーン文字として表されます:
[]rune{0x68, 0x65, 0x6c, 0x6c, 0x6f}
各ルーン文字は、特定の Unicode 文字に対応します。このトピックについては、Go Blog on Strings の「コード ポイント、文字、およびルーン」セクションで詳しく説明されています。
以上がGo で文字列に一重引用符を使用するとエラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。