표준 입출력에서의 서식 문자
GO에서 표준 입출력 기능은 기본 패키지인 fmt 패키지에서 제공하고 있다.
그 중 서식 문자열을 사용하는 함수들(Printf(), Scanf() 등)이 있는데 이 함수들을 사용할 때 작성하는 format을 정리해보았다.
타입별 포맷
General
구분 | 설명 |
---|---|
%v | 데이터 타입에 맞춰서 기본 형태로 출력 |
%#v | 값의 구문 표현을 출력 예)[]int{1, 2, 3}은 []int{1, 2, 3} 그대로 출력 |
%T | 데이터 타입을 출력 |
%% | 아무 값도 출력하지 않는다. % 문자를 그대로 출력 |
Boolean
구분 | 설명 |
---|---|
%t | boolean을 true/false로 출력 |
Integer
구분 | 설명 |
---|---|
%b | 2진수로 출력 |
%c | 유니코드 문자를 출력 |
%d | 10진수로 출력 |
%o | 8진수로 출력 |
%O | 접두사에 8진수임을 표시하는 0o를 붙여서 8진수로 출력 |
%q | 작은 따옴표에 묶인 문자 리터럴을 문자열 그대로 출력 예) '😀'은 작은 따옴표를 포함하여 '😀'로 출력 |
%x | 16진수로 출력. 10 이상 값을 a-f 소문자로 표시 |
%X | 16진수로 출력. 10 이상 값을 A-F 대문자로 표시 |
%U | 유니코드 형식으로 출력 예) "한"이라는 문자는 U+D55C로 출력 |
Floating-point and complex constituents
구분 | 설명 |
---|---|
%b | 지수가 2의 거듭제곱인 소수점이 없는 과학적 표기법으로 출력 예) -123456p-78 |
%e | 지수 표기법으로 출력(소문자 출력) 예) -1.234456e+78 |
%E | 지수 표기법으로 출력(대문자 출력) 예) -1.234456E+78 |
%f %F |
지수 형태가 아닌 소수점 형식으로 출력 예) 123.456 |
%g | 큰 지수의 경우 %e로 출력하고, 그렇지 않으면 %f로 출력 |
%G | 큰 지수의 경우 %E로 출력하고, 그렇지 않으면 %F로 출력 |
%x | 16진수로 출력(with decimal power of two exponent) 예) -0x1.23abcp+20 |
%X | 16진수로 출력(대문자 사용) 예) -0X1.23ABCP+20 |
String and slice of bytes (treated equivalently with these verbs)
구분 | 설명 |
---|---|
%s | 문자열을 출력 |
%q | 큰 따옴표에 묶인 문자 리터럴을 문자열 그대로 출력 예) "Hello"는 큰 따옴표를 포함하여 "Hello"로 출력 |
%x | 16진수로 출력(영문은 소문자 사용) |
%X | 16진수로 출력(영문은 대문자 사용) |
Slice
구분 | 설명 |
---|---|
%p | 0번째 요소의 주소 값을 출력. 선행에 0x 표시 |
Pointer
구분 | 설명 |
---|---|
%p | 메모리 주소값을 출력. 선행에 0x 표시 |
댓글