フォーマット動詞
CoddyのGOジャーニー「基礎」セクションの一部 — レッスン 30/109。
Goのフォーマット動詞(書式指定子)について学びましょう。フォーマット動詞は、fmt.Printf() で使用する特別なプレースホルダーで、さまざまな種類のデータを特定の方法で表示するために使用されます。
まず、いくつかの異なるデータ型の変数を作成しましょう:
name := "Gopher"
age := 5
height := 1.5
isActive := trueこのコードを実行した後、文字列、整数、浮動小数点数、およびブール値の4つの変数を作成しました。
それでは、デフォルトのフォーマット指定子 %v を使ってみましょう。これはあらゆるデータ型に対応し、値をデフォルトの形式で出力します:
fmt.Printf("Default: %v\n", name)
fmt.Printf("Default: %v\n", age)
fmt.Printf("Default: %v\n", height)
fmt.Printf("Default: %v\n", isActive)このコードを実行すると、次のように表示されます:Default: GopherDefault: 5Default: 1.5Default: true%v 指定子は、文字列、整数、浮動小数点数、ブール値に関わらず、各値をその型に合わせて自動的にフォーマットします。
次に、整数専用の %d 書式指定子を使用しましょう:
fmt.Printf("Integer: %d\n", age)このコードを実行すると、画面に Integer: 5 と表示されます。%d は整数の表示に最適です。
%f 書式指定子を使用して、float値を表示してみましょう:
fmt.Printf("Float: %f\n", height)このコードを実行すると、画面に Float: 1.500000 と表示されます。%f はデフォルトで小数点以下6桁を表示することに注目してください。
精度指定子を追加することで、小数点以下の桁数を制御できます:
fmt.Printf("Float (2 decimals): %.2f\n", height)このコードを実行すると、画面に Float (2 decimals): 1.50 と表示されます。f の前の .2 は、出力を小数点以下2桁に制限します。
最後に、%t 書式指定子を使用してブール値を表示しましょう:
fmt.Printf("Boolean: %t\n", isActive)このコードを実行すると、画面に Boolean: true と表示されます。%t はブール値を表示するための専用の書式指定子です。
覚えておいてください:任意の型には %v を、整数には %d を、浮動小数点数には %f を、そしてブール値には %t を使用します。
チャレンジ
初心者fmt.Printf を使用した書式指定子の練習をします。すでに異なる型のいくつかの変数が定義されています。あなたのタスクは、適切な書式指定子(%v、%d、%f、%s、%t など)を使用してそれらを出力することです。チートシート
書式指定子は、fmt.Printf() でさまざまな種類のデータを表示するために使用される特別なプレースホルダーです。
一般的な書式指定子:
%v- 任意の型のデフォルト形式%d- 整数%f- 浮動小数点数%t- 論理値 (ブーリアン)%s- 文字列
基本的な使い方:
name := "Gopher"
age := 5
height := 1.5
isActive := true
fmt.Printf("Default: %v\n", name) // デフォルト: Gopher
fmt.Printf("Default: %v\n", age) // デフォルト: 5
fmt.Printf("Default: %v\n", height) // デフォルト: 1.5
fmt.Printf("Default: %v\n", isActive) // デフォルト: true
fmt.Printf("Integer: %d\n", age) // 整数: 5
fmt.Printf("Float: %f\n", height) // 浮動小数点数: 1.500000
fmt.Printf("Boolean: %t\n", isActive) // 論理値: true小数点以下の桁数の制御:
fmt.Printf("Float (2 decimals): %.2f\n", height) // 浮動小数点数 (小数点以下2桁): 1.50自分で試してみよう
package main
import "fmt"
func main() {
// これらの変数はすでに定義されています
age := 25
height := 5.9
isStudent := true
name := "Alex"
// TODO: 正しいフォーマット指定子を使用して、fmt.Printfで次の文章を出力してください:
// "Name: Alex, Age: 25, Height: 5.900000, Student: true"
// 以下にコードを記述してください:
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。