Menu
Coddy logo textTech

書式付き出力

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 内の %% にも注目してください。これはリテラルな % 記号を出力する特殊なエスケープシーケンスです。単一の % はプレースホルダーの開始として扱われるため、出力に実際のパーセント記号を表示したい場合は、%% を使用します。

challenge icon

チャレンジ

簡単

このチャレンジでは、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 を追加することを忘れないでください
	
	
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Goオンラインコンパイラ