プログラミング プロセス中、目的の効果を達成するために一部の特殊文字をエスケープすることが必要になることがよくあります。 Golang 開発者にとって、文字列のエスケープも必須のスキルの 1 つです。
Golang には、fmt.Printf() や strconv.Quote() などの組み込みエスケープ関数がいくつか用意されています。これらの関数を使用すると、文字列を簡単にエスケープできます。次に、Golang のエスケープ関数を詳しく見てみましょう。
fmt.Printf() 関数は、Golang で最も一般的な文字エスケープ関数の 1 つです。エスケープ文字を使用すると、コンソールにいくつかの特殊文字を出力できます。たとえば、\n を使用すると、コンソールで改行文字を出力できます。
package main import "fmt" func main() { fmt.Printf("Hello\nWorld") }
上記のサンプル コードは、次の内容を出力します:
Hello World
fmt.Printf() およびその他の一般的に使用されるエスケープ文字 (\t はタブ文字を表し、\r は return Che を表します)フーなど。すべてのエスケープ文字は [公式ドキュメント](https://golang.org/pkg/fmt/) で確認できます。
もう 1 つの一般的な文字列エスケープ関数は strconv.Quote() です。この関数は、文字列を二重引用符で囲まれた文字列にエスケープできます。
package main import ( "fmt" "strconv" ) func main() { fmt.Println(strconv.Quote(`"Go is awesome!"`)) }
上記のコードの出力結果は次のとおりです:
"\"Go is awesome!\""
この関数は、文字列 "Go isAmazing!"
を "\"Go isAmazing !\ ""
、二重引用符はエスケープされます。
前の関数と同様に、strconv.QuoteToASCII() は文字列を二重引用符で囲まれた文字列にエスケープすることもできます。違いは、この関数が非 ASCII 文字を対応するエスケープ シーケンスに変換できることです。
package main import ( "fmt" "strconv" ) func main() { fmt.Println(strconv.QuoteToASCII("Golang是一个牛逼的编程语言!")) }
上記のコードの出力結果は次のとおりです:
"Golang\u662f\u4e00\u4e2a\u725b\u903c\u7684\u7f16\u7a0b\u8bed\u8a00\uff01"
この関数は文字列を文字列に変換しますGolang は素晴らしいプログラミング言語です。
#"Golang\u662f\u4e00\u4e2a\u725b\u903c\u7684\u7f16\u7a0b\u8bed\u8a00\uff01" に変換され、各非 ASCII 文字は対応するエスケープ シーケンスに変換されます。漢字などの文字は、
\u で始まる Unicode コードに変換されます。
package main import ( "fmt" "strconv" ) func main() { fmt.Println(strconv.QuoteToGraphic("这个字符串中有不可打印字符\x1f")) }上記のコードの出力結果は次のとおりです。
"这个字符串中有不可打印字符\u001f"文字列内の印刷できない文字
\x1f は
\u001f に変換されます。
以上がGolang のいくつかのエスケープ関数について詳しく学ぶの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。