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 サイトの他の関連記事を参照してください。