ホームページ >バックエンド開発 >Golang >golang fmt パッケージのさまざまな関数の違いを調べる

golang fmt パッケージのさまざまな関数の違いを調べる

PHPz
PHPzオリジナル
2023-04-11 10:42:04619ブラウズ

golang fmt パッケージは Go 言語で一般的に使用される標準ライブラリであり、入出力をフォーマットするためのさまざまなメカニズムを提供します。 fmt パッケージには、さまざまなタスクを実行するさまざまな関数が含まれています。この記事では、fmt パッケージのさまざまな関数の違いについて説明します。

1. Println と Printf の違い
Println と Printf はどちらもコンテンツを出力する関数ですが、それらの間にはいくつかの基本的な違いがあります。

Println は、一連の値を指定された形式で標準出力に出力します。 Println の関数シグネチャは次のとおりです:

func Println(a ...interface{}) (n int, err error)

ここで、...interface{} は任意のタイプの任意の数のデータを表します。 Println 出力を使用する場合、次のような追加の書式設定はありません。

fmt.Println("Hello", "World!", 1, 2, 3)  //输出:Hello World! 1 2 3

Printf は、書式設定された文字列を標準出力に出力します。 Printf の関数シグネチャは次のとおりです:

func Printf(format string, a ...interface{}) (n int, err error)

このうち、format は出力形式であり、...interface{} は任意のタイプの任意の数のデータを表します。 Printf は、フォーマットされた文字列と出力されるデータをフォーマットして連結します。以下に示すように:

fmt.Printf("My name is %s, and I am %d years old\n", "Jack", 25)   //输出:My name is Jack, and I am 25 years old

2. Sprintf と Fprintf の違い
Sprintf と Fprintf もフォーマットされた出力関数ですが、それらの間にはいくつかの違いがあります。

Sprintf は、フォーマットされた文字列を文字列変数にフォーマットします。 Sprintf の関数シグネチャは次のとおりです:

func Sprintf(format string, a ...interface{}) string

このうち、format は出力形式であり、...interface{} は任意のタイプの任意の数のデータを表します。 Sprintf は、フォーマットされた文字列と出力されるデータをフォーマットして連結し、結果を文字列に返します。以下に示すように:

s := fmt.Sprintf("My name is %s, and I am %d years old\n", "Jack", 25)
fmt.Println(s) //输出:My name is Jack, and I am 25 years old

Fprintf は、フォーマットされた文字列をファイルにフォーマットします。 Fprintf の関数シグネチャは次のとおりです:

func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error)

このうち、w io.Writer は出力先の場所を表し、format は出力形式を表し、a...interface{} は任意のタイプの任意の数のデータを表します。 Fprintf は、フォーマットされた文字列と出力されるデータをフォーマットして連結し、結果を指定されたファイルに出力します。以下に示すように:

f, err := os.Create("output.txt")
if err != nil {
    return err
}
fmt.Fprintf(f, "My name is %s, and I am %d years old\n", "Jack", 25)

3. 概要
上記 4 つの関数はすべて golang fmt パッケージで一般的に使用される関数ですが、それらの間には特定の違いがあります。 Println と Printf はどちらもコンテンツを出力する関数で、Println はコンテンツを直接出力しますが、Printf は文字列やデータを出力する前にフォーマットする必要があります。 Sprintf と Fprintf はどちらも書式設定された出力関数で、Sprintf は書式設定された文字列を文字列変数に出力し、Fprintf は書式設定された文字列を指定されたファイルに出力します。上記の内容をマスターすることで、これらの機能を日々の開発作業に活用することができます。

以上がgolang fmt パッケージのさまざまな関数の違いを調べるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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