Go コードの文字列リテラル値を明らかにする
構文ツリー内で Go 文字列リテラルの値を明らかにすることは、一般的な課題となる可能性があります。これを実現するには、文字列コード表現を実際の値に変換する必要があります。
回答:
これを実現するには、strconv.Unquote() 関数を利用できます。 、引用符で囲まれた文字列コードを引用符で囲まれていない値に変換します。ただし、この関数は引用符 (" または ') で囲まれた文字列に対してのみ動作することに注意することが重要です。
引用符で囲まれていない文字列を処理するには、strconv.Unquote() を呼び出す前に必要な引用符を手動で追加できます。例:
unquoted := strconv.Unquote("Hi") // Error: invalid syntax unquoted = strconv.Unquote(`Hi`) // Error: invalid syntax withQuotes := strconv.Unquote(`"Hi"`) // Prints "Hi" withQuotes = strconv.Unquote(`"Hi\x21"`) // Prints "Hi!" fmt.Println(unquoted) fmt.Println(withQuotes)
出力:
invalid syntax invalid syntax Hi Hi!
覚えておいてください。このアプローチは、単純な文字列リテラルにのみ適用されます。より複雑なシナリオの場合は、別の方法を検討する必要がある場合があります。
以上がGo の構文ツリーで文字列リテラルの値を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。