ホームページ  >  記事  >  バックエンド開発  >  Go におけるルーン リテラルと文字列リテラルの違いは何ですか?

Go におけるルーン リテラルと文字列リテラルの違いは何ですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-18 05:45:02669ブラウズ

What's the Difference Between Rune Literals and String Literals in Go?

Go のルーン リテラルについて

Go コードで、「ルーン リテラルの複数の文字」に関連するエラーが発生します。このエラーを理解するために、Go のルーン リテラルの概念と、それに応じてコードを調整する必要がある理由を詳しく見てみましょう。

Go のルーン リテラル

Go では、ルーン リテラルは Unicode コード ポイントを表し、単一の文字を表現するために使用されます。これらは一重引用符 (' ') で囲まれます。ルーン リテラルは、二重引用符 (" ") または逆引用符 (`) で囲まれた文字列リテラルとは異なります。

エラー: ルーン リテラルに複数の文字があります

ルーン リテラルを使用する場合は、一重引用符で囲まれた文字が 1 つだけであることを確認することが重要です。コードでは、Printf 関数内で文字列形式指定子 (%d) をルーン リテラルとともに使用しようとしています。 %d は 10 進整数を対象としているため、これは正しくありません。

解決策: %q または %v を使用します

この問題を解決するには、形式指定子を変更する必要があります。印刷するデータの種類に合わせてください。この場合、ルーン文字を出力するので、%q または %v 形式指定子を使用する必要があります。

  • %q: ルーン リテラルを引用符で囲んだ文字として出力します。
  • %v: ルーン リテラルを Unicode コード ポイント値として出力します。

正しい形式指定子を使用して修正されたコードは次のとおりです。

    if a % 2 == 0 {
        fmt.Println("%d is an even number", a)
    } else {
        fmt.Println("%d is an odd number", a)
    }

以上がGo におけるルーン リテラルと文字列リテラルの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。