[go] %v와 %T의 차이점

Go 프로그래밍 언어에서 포맷 문자열을 사용할 때, %v%T는 서로 다른 기능을 가지고 있습니다. 이 두 포맷 문자열의 차이점에 대해 알아보겠습니다.

%v

%v는 값(value)을 포맷화하여 출력하는 데 사용됩니다. 이 포맷 문자열을 사용하여 변수나 상수의 값을 출력할 때, 해당 값을 가장 적합한 형식으로 변환하여 표시합니다.

예를 들어, 다음과 같이 사용될 수 있습니다:

package main

import "fmt"

func main() {
    num := 10
    str := "Hello, World!"
    
    fmt.Printf("%v\n", num) // 출력: 10
    fmt.Printf("%v\n", str) // 출력: Hello, World!
}

%T

반면에, %T는 변수나 상수의 타입(type)을 표시하는 데 사용됩니다. 이 포맷 문자열을 사용하여 변수의 실제 타입을 문자열 형태로 표시합니다.

예를 들어, 다음과 같이 사용될 수 있습니다:

package main

import "fmt"

func main() {
    num := 10
    str := "Hello, World!"
    
    fmt.Printf("%T\n", num) // 출력: int
    fmt.Printf("%T\n", str) // 출력: string
}

따라서, %v는 값(value)의 포맷화에 사용되고, %T는 타입(type)의 표시에 사용됩니다.

이렇듯, %v%T는 각각 값과 타입을 출력하는 데 사용되며, 서로 다른 기능을 가지고 있습니다.

이 글은 Go 언어의 fmt 패키지를 참고하였습니다.