%v

型のデフォルトフォーマットで出力する。

package main
 
import (
    "fmt"
    "net/http"
)
 
func main() {
    fmt.Printf("%v\n", 2023)
    fmt.Printf("%v\n", 3.14)
    fmt.Printf("%v\n", true)
    fmt.Printf("%v\n", "Hello World!")
    fmt.Printf("%v\n", http.Client{})
    fmt.Printf("%v\n", [...]int{56, 26, 25})
    fmt.Printf("%v\n", []int{444, 23, 113})
    fmt.Printf("%v\n", map[string]int{"Yokohama FC": 10000, "Whistle&Case": -1})
}

出力結果

2023
3.14
true
Hello World!
{<nil> <nil> <nil> 0s}
[56 26 25]
[444 23 113]
map[Yokohama FC:10000 Whistle&Case:-1]

%+v

%vと同様だが構造体の場合にフィールド名を表示する。

2023
3.14
true
Hello World!
{Transport:<nil> CheckRedirect:<nil> Jar:<nil> Timeout:0s}
[56 26 25]
[444 23 113]
map[Yokohama FC:10000 Whistle&Case:-1]

%#v

Goシンタックス表現で出力する。

2023
3.14
true
"Hello World!"
http.Client{Transport:http.RoundTripper(nil), CheckRedirect:(func(*http.Request, []*http.Request) error)(nil), Jar:http.CookieJar(nil), Timeout:0}
[3]int{56, 26, 25}
[]int{444, 23, 113}
map[string]int{"Yokohama FC":10000, "Whistle&Case":-1}

%T

型を出力する。

int
float64
bool
string
http.Client
[3]int
[]int
map[string]int