표준 입출력 기능 제공.

Print() //출력
Println() // 출력 후 개행
Printf() //서식에 맞도록 입력값들을 출력

C언어를 다시보는 기분이다.

최소 출력 너비 지정

//ch5/ex5.2/ex5.2.go
package main

import "fmt"

func main() {
	var a = 123
	var b = 456
	var c = 123456789

	fmt.Printf("%5d, %5d\\n", a, b)    // ❶ 최소 너비보다 짧은 값 너비 지정
	fmt.Printf("%05d, %05d\\n", a, b)  // ❷ 최소 너비보다 짧은 값 0 채우기
	fmt.Printf("%-5d, %-05d\\n", a, b) // ❸ 최소 너비보다 짧은 값 왼쪽 정렬

	fmt.Printf("%5d, %5d\\n", c, c)    // ➍ 최소 너비보다 긴 값 너비 지정
	fmt.Printf("%05d, %05d\\n", c, c)  // ➎ 최소 너비보다 긴 값 0 채우기
	fmt.Printf("%-5d, %-05d\\n", c, c) // ➏ 최소 너비보다 긴 값 왼쪽 정렬
}

출력 화면

출력 화면

4, 5, 6은 최소 너비보다 긴 값을 서식에 맞춰 출력한다. 최소 너비보다 긴 값은 모두 지정한 최소 너비가 무시되어 출력된다.

//ch5/ex5.3/ex5.3.go
package main

import "fmt"

func main() {
	var a = 324.13455
	var b = 324.13455
	var c = 3.14

	fmt.Printf("%08.2f\\n", a) // ❶ 최소너비:8 소수점이하:2자리 0을 채움.
	fmt.Printf("%08.2g\\n", b) // ❷ 최소너비:8 총숫자: 2자리 0을 채움
	fmt.Printf("%8.5g\\n", b)  // ❸ 최소너비:8 총숫자: 5자리
	fmt.Printf("%f\\n", c)     // ❹ 소수점이하 6자리까지 출력
}

실숫값에는 소수점 이하 자릿수도 지정할 수 있다.

00324.13
03.2e+02
  324.13
3.140000

Scan()

func Scan(a ...interface{}) (n int, err error)