書式付き出力
CoddyのGOジャーニー「基礎」セクションの一部。レッスン 29/109。
fmt.Printf()関数を使って、Goで出力をformatする方法を学びましょう。この関数を使うと、プレースホルダーを使用して値を特定の形式でdisplayできます。
まず、プレースホルダーを使用してさまざまなデータ型をformattingするプログラムを作成しましょう:
name := "Gopher"
age := 5
height := 1.5
fmt.Printf("Name: %s, Age: %d, Height: %.1f\n", name, age, height)このコードを実行すると、テキスト "Name: Gopher, Age: 5, Height: 1.5" が画面に表示されます。文字列内のプレースホルダーは、変数の実際の値に置き換えられます。
各プレースホルダーの役割を理解しましょう:
// %s は文字列値 (name) に置き換えられます
// %d は整数値 (age) に置き換えられます
// %.1f は小数点以下1桁を表示する浮動小数点値 (height) に置き換えられます
// %t はブール値 (true または false) に置き換えられますフォーマット文字列の末尾にある \n はエスケープ文字で、Enter キーを押すのと同じようにカーソルを新しい行へ移動します。これは、閉じ引用符の前にスペースを入れず、引用符の内側に記述する必要があります。そうしないと、出力に余分なスペースが表示されます。
fmt.Printf()関数は、format stringの後に指定した対応する変数で各プレースホルダーを置き換えます。変数の順序はプレースホルダーの順序と一致していなければなりません。
では、異なる種類のformattingを使った別の例を試してみましょう:
pi := 3.14159
percentage := 0.75
letter := 'A'
fmt.Printf("Pi: %.2f, Percentage: %.1f%%, Letter: %c\n", pi, percentage*100, letter)このコードを実行すると、テキスト "Pi: 3.14, Percentage: 75.0%, Letter: A" が画面に表示されます。%.2f は pi を小数点以下 2 桁だけ表示し、パーセンテージをパーセンテージ値として表示するために 100 を掛けていることに注目してください。
また、format string 内の %% にも注目してください。これはリテラルな % 記号を出力する特殊なエスケープシーケンスです。単一の % はプレースホルダーの開始として扱われるため、出力に実際のパーセント記号を表示したい場合は、%% を使用します。
チャレンジ
簡単このチャレンジでは、fmt.Printf()関数を使ったGoでの書式付き出力の使用方法を練習します。
書式指定子を使って特定の形式で表示する必要があるProductのinformationがあります。変数はすでに定義されています。
あなたの課題は、適切な書式指定子とともにfmt.Printf()を使ってProductのinformationを表示することです。
- stringsには%sを使用します
- integersには%dを使用します
- 小数点以下2桁のfloatには%.2fを使用します
- boolean valuesには%tを使用します
期待される出力に示されているとおりに、Productのinformationを正確に表示してください。
自分で試してみよう
package main
import "fmt"
func main() {
// 商品情報
productName := "Wireless Headphones"
productPrice := 79.99
productInStock := true
productID := 12345
// TODO: フォーマット動詞を使って fmt.Printf() で商品情報を表示してください:
// Product: Wireless Headphones (ID: 12345)
// Price: $79.99
// In Stock: true
//
// ヒント: 文字列には %s、整数には %d、浮動小数点数には %.2f、ブール値には %t を使用してください
// 適切な書式にするために各行の末尾に \n を追加することを忘れないでください
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Goオンラインコンパイラ