Printfの動詞
値を正確に書式設定します
「Printfの動詞」はCoddyKit上の無料Go Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはGo Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Go Academyコースには全4レッスンが含まれています。
動詞とは
fmt.Printfはフォーマット文字列を使って値を整形します。その中のパーセント記号と英字の組み合わせが動詞であり、次の引数をどのように出力するかを指定します。
例:整数には%d、文字列には%sを使います。
package main
import "fmt"
func main() {
fmt.Printf("%s is %d years old\n", "Ada", 36)
}改行を忘れない
Printlnとは異なり、Printfは改行を追加しません。改行したい場合は、自分で\nを追加します。
package main
import "fmt"
func main() {
fmt.Printf("line one\n")
fmt.Printf("line two\n")
}汎用的な動詞 %v
%vは値をデフォルトの形式で出力し、ほとんどすべての型で使用できます。%+vを使うと、構造体のフィールド名も追加されます。
package main
import "fmt"
type Point struct{ X, Y int }
func main() {
p := Point{1, 2}
fmt.Printf("%v\n", p)
fmt.Printf("%+v\n", p)
}Go構文の動詞 %#v
%#vは、Goのソースコードに記述する場合と同じ形式で値を出力します。デバッグに最適です。
package main
import "fmt"
type Point struct{ X, Y int }
func main() {
p := Point{1, 2}
fmt.Printf("%#v\n", p)
}型の動詞 %T
%Tは値の型を出力します。扱っている値の型がわからない場合に便利です。
package main
import "fmt"
func main() {
fmt.Printf("%T\n", 42)
fmt.Printf("%T\n", "hi")
fmt.Printf("%T\n", 3.14)
}整数の基数
整数には、次のような動詞があります。
%d:10進数%b:2進数%o:8進数%x:16進数
package main
import "fmt"
func main() {
n := 255
fmt.Printf("%d %b %o %x\n", n, n, n, n)
}浮動小数点数の形式
浮動小数点数には、10進表記の%fと指数表記の%eを使用します。%gは、妥当な形式のうち最も短いものを選びます。
package main
import "fmt"
func main() {
x := 3.14159
fmt.Printf("%f\n", x)
fmt.Printf("%e\n", x)
fmt.Printf("%g\n", x)
}浮動小数点数の精度
.Nを追加すると、小数点以下の桁数を指定できます。%.2fは小数点以下を必ず2桁で表示するため、金額の表示に最適です。
package main
import "fmt"
func main() {
price := 9.5
fmt.Printf("$%.2f\n", price)
}幅と配置
動詞の前に数字を指定すると、最小幅を設定できます。デフォルトでは値は右寄せになり、マイナス記号を付けると左寄せになります。
package main
import "fmt"
func main() {
fmt.Printf("[%5d]\n", 42)
fmt.Printf("[%-5d]\n", 42)
}ゼロで埋める
幅の先頭に0を付けると、数値がゼロで埋められます。固定長のコードやタイムスタンプに適しています。
package main
import "fmt"
func main() {
fmt.Printf("%04d\n", 7)
fmt.Printf("%02d:%02d\n", 9, 5)
}ブール値、引用符、パーセント記号
その他の動詞には、ブール値用の%t、二重引用符付きの文字列用の%q、文字どおりのパーセント記号用の%%があります。
package main
import "fmt"
func main() {
fmt.Printf("%t\n", true)
fmt.Printf("%q\n", "hi")
fmt.Printf("100%%\n")
}確認問題
浮動小数点数を小数点以下2桁で整形する動詞はどれですか。
まとめ:Printfの動詞
これで値を正確に整形できるようになりました。
- 一般的な形式:
%v、%+v、%#v、%T - 数値:
%d、%b、%x、%f、%.2f - レイアウト:幅、左寄せ用の
-、ゼロ埋め用の0
package main
import "fmt"
func main() {
fmt.Printf("%-8s %6.2f\n", "Total:", 12.5)
}よくある質問
「Printfの動詞」レッスンは無料ですか?
はい。「Printfの動詞」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Go Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Go Academyコースには全4レッスンが含まれています。
「Printfの動詞」で何を学びますか?
値を正確に書式設定します ブラウザで直接実行するハンズオンコードでGo Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Go Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのGo Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「Printfの動詞」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このGo Academyレッスンでコードを書いて実行できますか?
はい。すべてのGo Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。