Golang

[Golang] fmt 패키지

GenieLove! 2022. 2. 4. 00:06
728x90
반응형

1. 표준 입출력

 fmt패키지 이용, 표준 입출력스트림은 os패키지의 Stdin, Stdout, Stderr 제공. 입출력 스트림 처리는 io.Reader, io.Wirter 인터페이스로 처리

 

2. fmt 패키지

Print() 입력값 출력
Println() 입력값 출력 및 개행
Printf() format에 맞도록 입력값을 출력

3. 서식 문자

구분 설명
%v 데이터 타입에 맞춰 기본형태로 출력
%T 데이터 타입 출력
%t boolean을 true, false로 출력
%d 10진수 정수 값으로 출력
%b 2진수로 출력
%c 유니코드 문자를 출력(정수타입만 가능)
%o 8진수로 출력
%O 앞에 8진수임을 알 수 있도록 0o를 붙여서 8진수 값으로 출력
%x 16진수 값으로 출력(10 이상 값을 a-f소문자로 표시)
%X 16진수 값으로 출력(10 이상 값을 A-F대문자로 표시)
%e %E 지수 형태로 실수값을 출력
%f %F 지수 형태가 아닌 실수값을 그대로 출력(기본 6자리 출력)
%g %G 값이 큰 실수값은 지수형태(%e)로 출력, 값은 실수값은 실수값 그대로(%f) 출력
%s 문자열 출력
%q 특수 문자 기능을 동작하지 않고 문자열 그대로 출력
ex) hi\n 그대로 출력
%p 메모리 주소값 출력

4. 출력 형식

(1) 최소 출력 자리 지정 -> %5d : 최소 5자리 차지

(2) 공란 채우는 법 -> %05d : 최소 5자리 차지 및 공란 시 0으로 자리 채움

(3) 왼쪽 정렬 -> %-5d : 최소 5자리 차지 및 왼쪽 정렬(기본 오른쪽 정렬)

(4) 소수점 이하 자리 수 지정 -> %5.2f : 최소 5자리 차지 및 소수점 아래 2자리 출력(소수점도 출력 자리로 봄)

 

5. 표준 입력 - 인수로 메모리 주소값을 전달해야 됨

Scan(a ...interface{}) (n int, err error) 표준 입력에서 값을 입력받음(기본적으로 공백으로 구분)
Scanf(format string, a ...interface{}) (n int, err error) 표준 입력에서 서식 형태로 값을 입력 받음
Scanln(a ...interface{}) (n int, err error) 표준 입력에서 한 줄을 읽어서 값을 입력 받음(기본적으로 공백으로 구분)
//example

package main

import "fmt"

func main() {
	var a int
    var b int
    
    n, err := fmt.Scan(&a, &b)
    if err != nil {
    	fmt.Println(err)
    } else {
    	fmt.Println(n, a, b)
    }
    
    n, _ = fmt.Scanf("%d %d", &a, &b)
    fmt.Println(n, a, b)
}
728x90
반응형

'Golang' 카테고리의 다른 글

[Golang] 함수  (0) 2022.02.09
[Golang] 연산자  (0) 2022.02.08
[Golang] 변수  (0) 2022.02.03
[Golang] VSCode에서 github import Error  (0) 2022.01.30
[Golang] Download 및 초기 watcher 설치까지  (0) 2022.01.29