Go言語での文字列フォーマットには、様々なオプションがあります。これらはfmtパッケージを使用して設定でき、以下にその例を示します。
整数型
- %d: 標準的な10進数フォーマット
- %+d: 符号付きの10進数フォーマット
- %08d: 8桁の0パディング付き10進数フォーマット
- %o: 8進数フォーマット
- %x, %X: 16進数フォーマット(小文字/大文字)
浮動小数点型
- %f: 標準的な浮動小数点数フォーマット
- %9f: 幅9の浮動小数点数フォーマット
- %.2f: 小数点以下2桁の浮動小数点数フォーマット
- %9.2f: 幅9で小数点以下2桁の浮動小数点数フォーマット
- %e, %E: 科学技術記法フォーマット(小文字/大文字)
文字列型
- %s: 標準的な文字列フォーマット
- %q: クオート付き文字列フォーマット
- %6s: 幅6の文字列フォーマット(右詰め)
- %-6s: 幅6の文字列フォーマット(左詰め)
- %.5s: 最初の5文字のみの文字列フォーマット
- %6.2s: 幅6で最初の2文字のみの文字列フォーマット
ブール型
- %t: true または false
ポインタ
- %p: ポインタのアドレス
package main
import (
"fmt"
)
func main() {
// 整数型のフォーマット
fmt.Printf("10進数: %d, 2進数: %b, 8進数: %o, 16進数: %x\n", 15, 15, 15, 15)
fmt.Printf("整数: %d, 符号付き: %+d, 0パディング: %08d\n", 15, 15, 15)
// 浮動小数点型のフォーマット
fmt.Printf("浮動小数点: %f, 科学技術記法: %e\n", 123.45678, 123.45678)
fmt.Printf("浮動小数点: %f, 幅9: %9f, 小数点以下2桁: %.2f, 幅9小数点以下2桁: %9.2f\n", 123.456, 123.456, 123.456, 123.456)
// 文字列型のフォーマット
fmt.Printf("文字列: %s, クオート付き: %q, 幅6右詰め: %6s, 幅6左詰め: %-6s\n", "go", "go", "go", "go")
fmt.Printf("最初の5文字: %.5s, 幅6で最初の2文字: %6.2s\n", "Hello, world!", "Hello, world!")
// ブール型のフォーマット
fmt.Printf("ブール: %t\n", true)
// ポインタのフォーマット
num := 5
fmt.Printf("ポインタ: %p\n", &num)
}
このコードでは、様々な型の変数に対して、それぞれの型に適したフォーマット指定子を使用しています。これらの指定子を使用することで、異なる型の値を様々な形式で文字列に変換することができます。