ホームページ >バックエンド開発 >Golang >Golang のいくつかのエスケープ関数について詳しく学ぶ

Golang のいくつかのエスケープ関数について詳しく学ぶ

PHPz
PHPzオリジナル
2023-04-12 19:07:512764ブラウズ

プログラミング プロセス中、目的の効果を達成するために一部の特殊文字をエスケープすることが必要になることがよくあります。 Golang 開発者にとって、文字列のエスケープも必須のスキルの 1 つです。

Golang には、fmt.Printf() や strconv.Quote() などの組み込みエスケープ関数がいくつか用意されています。これらの関数を使用すると、文字列を簡単にエスケープできます。次に、Golang のエスケープ関数を詳しく見てみましょう。

fmt.Printf()

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/) で確認できます。

strconv.Quote()

もう 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()

前の関数と同様に、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 コードに変換されます。

strconv.QuoteToGraphic()

strconv.QuoteToASCII() 関数と同様に、strconv.QuoteToGraphic() も文字列を二重引用符で囲まれた文字列にエスケープできます。違いは、この関数が印刷不可能な ASCII 文字を対応するエスケープ シーケンスに変換することです。

package main

import (
    "fmt"
    "strconv"
)

func main() {
    fmt.Println(strconv.QuoteToGraphic("这个字符串中有不可打印字符\x1f"))
}
上記のコードの出力結果は次のとおりです。

"这个字符串中有不可打印字符\u001f"
文字列内の印刷できない文字

\x1f\u001f に変換されます。

概要

Golang では、エスケープ関数は非常に実用的で、さまざまな種類の特殊文字を処理するのに役立ちます。この記事では、組み込みエスケープ関数 fmt.Printf()、strconv.Quote()、strconv.QuoteToASCII()、および strconv.QuoteToGraphic() について詳しく説明しました。これらの関数を使用すると、プログラミング プロセス中に文字列をより便利に操作できるようになり、プログラミング効率が向上します。

以上がGolang のいくつかのエスケープ関数について詳しく学ぶの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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