
Goμ νμ μ§μ μ(format verbs) λ fmt ν¨ν€μ§(fmt.Printf, fmt.Sprintf, fmt.Errorf λ±)μμ λ¬Έμμ΄ μΆλ ₯ μ λ§€μ° μ€μν©λλ€.
μ΄ λΆλΆμ λλ²κΉ
, λ‘κΉ
, λ¬Έμμ΄ ν¬λ§€ν
λͺ¨λμ μν₯μ μ£ΌκΈ° λλ¬Έμ μ€λ¬΄μμλ μ νν μ΄ν΄ν΄λλ©΄ μ’μ΅λλ€.
Go νμ μ§μ μ μμ μ 리
fmt ν¨ν€μ§μ μ£Όμ ν¨μλ€:
| ν¨μ | μ€λͺ |
| fmt.Printf() | μ½μμ νμνλ μΆλ ₯ |
| fmt.Sprintf() | νμνλ λ¬Έμμ΄ λ°ν |
| fmt.Fprintf() | writer(io.Writer)μ νμνλ μΆλ ₯ |
| fmt.Errorf() | νμνλ μλ¬ λ¬Έμμ΄ μμ± |
μ΄ ν¨μλ€μ λͺ¨λ "%" λ‘ μμνλ format verb(νμ μ§μ μ)λ₯Ό μ¬μ©ν©λλ€.
μ£Όμ νμ μ§μ μ (κΈ°λ³Έν)
| νμ | μ€λͺ | μμ | μΆλ ₯ |
| %v | κΈ°λ³Έ νμμΌλ‘ μΆλ ₯ | fmt.Printf("%v", 123) | 123 |
| %+v | ꡬ쑰체 νλλͺ ν¬ν¨ μΆλ ₯ | fmt.Printf("%+v", user) | {Name:Alice Age:30} |
| %#v | Go μ½λ ννλ‘ νν | fmt.Printf("%#v", user) | main.User{Name:"Alice", Age:30} |
| %T | κ°μ νμ μΆλ ₯ | fmt.Printf("%T", 123) | int |
| %% | % λ¬Έμ μ체 μΆλ ₯ | fmt.Printf("%%") | % |
μ μ νμ
| νμ | μ€λͺ | μμ | μΆλ ₯ |
| %d | 10μ§μ | fmt.Printf("%d", 255) | 255 |
| %b | 2μ§μ | fmt.Printf("%b", 255) | 11111111 |
| %o | 8μ§μ | fmt.Printf("%o", 255) | 377 |
| %x | 16μ§μ(μλ¬Έμ) | fmt.Printf("%x", 255) | ff |
| %X | 16μ§μ(λλ¬Έμ) | fmt.Printf("%X", 255) | FF |
| %c | Unicode μ½λ ν¬μΈνΈλ₯Ό λ¬Έμλ‘ μΆλ ₯ | fmt.Printf("%c", 65) | A |
| %U | Unicode νμμΌλ‘ μΆλ ₯ | fmt.Printf("%U", 65) | U+0041 |
λ¬Έμμ΄ λ° λ°μ΄νΈ
| νμ | μ€λͺ | μμ | μΆλ ₯ |
| %s | λ¬Έμμ΄ κ·Έλλ‘ μΆλ ₯ | fmt.Printf("%s", "GoLang") | GoLang |
| %q | λ°μ΄ν ν¬ν¨ λ¬Έμμ΄ | fmt.Printf("%q", "GoLang") | "GoLang" |
| %x | λ°μ΄νΈ μ¬λΌμ΄μ€λ₯Ό 16μ§μλ‘ μΆλ ₯ | fmt.Printf("%x", "Go") | 476f |
| %X | λλ¬Έμ 16μ§μ | fmt.Printf("%X", "Go") | 476F |
λΆλμμμ (float, double)
| νμ | μ€λͺ | μμ | μΆλ ₯ |
| %f | κ³ μ μμμ | fmt.Printf("%f", 3.14159) | 3.141590 |
| %.2f | μμμ λμ§Έ μ리κΉμ§ | fmt.Printf("%.2f", 3.14159) | 3.14 |
| %e | μ§μν(μλ¬Έμ e) | fmt.Printf("%e", 3.14159) | 3.141590e+00 |
| %E | μ§μν(λλ¬Έμ E) | fmt.Printf("%E", 3.14159) | 3.141590E+00 |
| %g | μλνμ (μ§§μ μͺ½ μ ν) | fmt.Printf("%g", 3.14159) | 3.14159 |
| %G | μλνμ (λλ¬Έμ) | fmt.Printf("%G", 3.14159) | 3.14159 |
ν¬μΈν°
fmt.Printf("%p", &x) // 0xc0000140a8
λ³΅ν© νμ
| νμ | μμ | μΆλ ₯ |
| []int{1,2,3} | %v | [1 2 3] |
| map[string]int{"a":1,"b":2} | %v | map[a:1 b:2] |
| struct{Name string} | %+v | {Name:Go} |
ν(width)κ³Ό μ λ ¬ μ΅μ
νμ μ§μ μ μμ ν(width)κ³Ό μ λ ¬ μ΅μ μ μ§μ ν μ μμ΅λλ€.
| μμ | μ€λͺ | μΆλ ₯ |
| %6d | μ΅μ ν 6μΉΈ ν보 | 123 |
| %-6d | μΌμͺ½ μ λ ¬ | 123 |
| %06d | 0μΌλ‘ μ±μ | 000123 |
| %10s | λ¬Έμμ΄ μ€λ₯Έμͺ½ μ λ ¬ | " Go" |
μ£Όμμ¬ν
| μν© | μ£Όμμ |
| νμ λΆμΌμΉ | %dλ‘ floatμ΄λ stringμ μΆλ ₯νλ©΄ panic λ°μ |
| μ¬μ©νμ§ μλ import | fmtλ₯Ό importνμ§λ§ μ¬μ©νμ§ μμΌλ©΄ λΉλ μλ¬ |
| %v vs %+v νΌλ | ꡬ쑰체 λ‘κΉ μ %+vλ₯Ό μ¨μΌ νλλͺ νμ |
| μ€μ ν¬λ§· | %fλ νμ 6μ리 μμμ μΆλ ₯ (μλ μλ₯΄μ§ μμ) |
| μ±λ₯ κ³ λ € | κ³ λΉλ λ‘κΉ μμλ fmt.Sprintfλ³΄λ€ strconv.Itoa λ± μ§μ λ³νμ΄ λΉ λ¦ |
μμ£Ό μ°μ΄λ μ‘°ν© (μ€λ¬΄ μμ)
log.Printf("Request: %+v", req) // ꡬ쑰체 νλλͺ
ν¬ν¨ μΆλ ₯
log.Printf("Response: %#v", resp) // Go μ½λ ννλ‘ μΆλ ₯
fmt.Printf("User ID: %d, Name: %s\n", id, name)
fmt.Printf("Latency: %.3fms\n", latency)
fmt.Printf("Pointer: %p\n", &user)
fmt.Printf("Type: %T, Value: %v\n", v, v)
μμ½
| λ²μ£Ό | νμ | μ€λͺ |
| μΌλ° | %v, %+v, %#v, %T, %% | κΈ°λ³Έ, νλλͺ ν¬ν¨, Goλ¬Έλ², νμ |
| μ μ | %d, %b, %o, %x, %X, %c, %U | μμ§, 2μ§, 8μ§, 16μ§, λ¬Έμ |
| μ€μ | %f, %e, %E, %g, %G | κ³ μ μμ, μ§μ, μλ |
| λ¬Έμμ΄ | %s, %q, %x, %X | λ¬Έμμ΄, μΈμ©, hex |
| ν¬μΈν° | %p | λ©λͺ¨λ¦¬ μ£Όμ |
'νλ‘κ·Έλλ° μΈμ΄ > Go' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| [Go] μ€λ¬΄ νκ²½μμ λ‘κ·Έ μ λλ‘ λ¨κΈ°κΈ°(Logging) (0) | 2025.11.10 |
|---|---|
| [Go] μΌμ μκ°λ§λ€ μ€μΌμ€λ¬ λμνκΈ°(Ticker) (0) | 2025.11.07 |
| [Go] Map μ리μ νμ©(feat. hash) (0) | 2025.11.05 |
| [Go] μ¬λΌμ΄μ€(slice)μλ ν¬μΈν°κ° μλ€ (0) | 2025.10.14 |
| [Go] κ³ λ£¨ν΄(Goroutine) (0) | 2025.10.13 |