Menu
Coddy logo textTech

書式付き出力

CoddyのGOジャーニー「基礎」セクションの一部 — レッスン 29/109。

Goでfmt.Printf()関数を使って出力をフォーマットする方法を学びましょう。この関数を使用すると、プレースホルダーを使用して特定の形式で値を表示できます。

まず、プレースホルダーを使用してさまざまなデータ型をフォーマットするプログラムを作成しましょう。

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)に置き換えられます

fmt.Printf() 関数は、書式指定文字列の後に指定した対応する変数で各プレースホルダーを置き換えます。変数の順序は、プレースホルダーの順序と一致している必要があります。

それでは、異なる種類のフォーマットを使用した別の例を試してみましょう:

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を掛けていることに注目してください。

また、書式指定文字列内の特別なシーケンス %% にも注目してください。これは、fmt.Printf() でリテラルの % 文字を出力する方法です。単一の % はプレースホルダーの開始として扱われるため、%% はそれをエスケープしてパーセント記号自体を表示するために使用されます。

challenge icon

チャレンジ

簡単

このチャレンジでは、Goの `fmt.Printf()` 関数を使用して、フォーマットされた出力を練習します。

特定の形式で表示する必要がある製品情報があります。フォーマット動詞(format verbs)を使用して表示してください。変数はあらかじめ定義されています。

あなたのタスクは、適切なフォーマット動詞を指定した `fmt.Printf()` を使用して、製品情報を表示することです:
- 文字列には `%s` を使用する
- 整数には `%d` を使用する
- 小数点以下2桁の浮動小数点数には `%.2f` を使用する
- 布飾値(boolean)には `%t` を使用する

製品情報を、期待される出力と全く同じように表示してください。

チートシート

プレースホルダーを使用して出力をフォーマットするには、fmt.Printf()を使用します:

fmt.Printf("Name: %s, Age: %d, Height: %.1f\n", name, age, height)

一般的な書式指定子:

  • %s - 文字列値
  • %d - 整数値
  • %.1f - 小数点第1位までの浮動小数点数
  • %.2f - 小数点第2位までの浮動小数点数
  • %t - 論理値(boolean)
  • %c - 文字
  • %% - パーセント記号のリテラル (%)

変数の順序は、書式文字列内のプレースホルダーの順序と一致する必要があります。

出力後に改行するには、書式文字列の最後に \n を使用します。

自分で試してみよう

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腕試し

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

基礎のすべてのレッスン