Menu
Coddy logo textTech

포맷된 출력

Coddy GO 여정의 기초 섹션에 포함된 레슨 — 109개 중 29번째.

Go에서 fmt.Printf() 함수를 사용하여 출력 형식을 지정하는 방법을 배워봅시다. 이 함수를 사용하면 자리 표시자(placeholder)를 사용하여 특정 형식으로 값을 표시할 수 있습니다.

먼저, 플레이스홀더를 사용하여 다양한 데이터 타입을 포맷하는 프로그램을 만들어 보겠습니다:

name := "Gopher"
age := 5
height := 1.5
    
fmt.Printf("Name: %s, Age: %d, Height: %.1f\n", name, age, height)

이 코드를 실행한 후, "Name: Gopher, Age: 5, Height: 1.5"라는 텍스트가 화면에 표시됩니다. 문자열의 자리 표시자(placeholder)는 변수의 실제 값으로 대체됩니다.

각 자리 표시자(placeholder)가 어떤 역할을 하는지 알아봅시다:

// %s는 문자열 값(name)으로 대체됩니다
// %d는 정수 값(age)으로 대체됩니다
// %.1f는 소수점 이하 1자리까지 표시되는 실수 값(height)으로 대체됩니다
// %t는 불리언 값(true 또는 false)으로 대체됩니다

형식 문자열 끝의 \n은 Enter 키를 누르는 것과 마찬가지로 커서를 새 줄로 이동시키는 이스케이프 문자입니다. 이는 닫는 따옴표 앞에 공백 없이 따옴표 안에 위치해야 하며, 그렇지 않으면 출력에 추가 공백이 나타나게 됩니다.

fmt.Printf() 함수는 형식 문자열 뒤에 제공하는 각 변수로 각 자리 표시자를 대체합니다. 변수의 순서는 자리 표시자의 순서와 일치해야 합니다.

이제 다른 유형의 포맷팅을 사용하는 또 다른 예제를 살펴보겠습니다:

pi := 3.14159
percentage := 0.75
letter := 'A'

fmt.Printf("Pi: %.2f, Percentage: %.1f%%, Letter: %c\n", pi, percentage*100, letter)

이 코드를 실행한 후, "Pi: 3.14, Percentage: 75.0%, Letter: A"라는 텍스트가 화면에 표시됩니다. %.2f가 pi에 대해 소수점 둘째 자리까지만 표시하는 방식과, 백분율 값을 표시하기 위해 percentage에 100을 곱하는 것을 확인해 보세요.

또한 형식 문자열 내의 %%를 주목하세요. 이것은 리터럴 % 기호를 출력하는 특별한 이스케이프 시퀀스입니다. 단일 %는 플레이스홀더의 시작으로 처리되므로, 출력에 실제 퍼센트 기호를 표시하고 싶을 때마다 %%를 사용합니다.

challenge icon

챌린지

쉬움

이 챌린지에서는 `fmt.Printf()` 함수를 사용하여 Go에서 형식화된 출력을 사용하는 연습을 합니다.

특정 형식을 사용하여 표시해야 하는 제품 정보가 있습니다. 변수는 이미 정의되어 있습니다.

여러분의 작업은 적절한 형식 지정자(format verbs)와 함께 `fmt.Printf()`를 사용하여 제품 정보를 표시하는 것입니다:
- 문자열에는 `%s` 사용
- 정수에는 `%d` 사용  
- 소수점 이하 2자리 부동 소수점 숫자에는 `%.2f` 사용
- 불리언 값에는 `%t` 사용

예상 출력에 표시된 것과 똑같이 제품 정보를 표시하세요.

직접 해보기

package main

import "fmt"

func main() {
	// 제품 정보
	productName := "Wireless Headphones"
	productPrice := 79.99
	productInStock := true
	productID := 12345
	
    // TODO: fmt.Printf()와 서식 지정자(format verbs)를 사용하여 제품 정보를 표시하세요:
    // Product: Wireless Headphones (ID: 12345)
    // Price: $79.99
    // In Stock: true
    //
    // 힌트: 문자열에는 %s, 정수에는 %d, 부동 소수점에는 %.2f, 불리언에는 %t를 사용하세요
    // 올바른 서식을 위해 각 줄 끝에 \n을 추가하는 것을 잊지 마세요
	
	
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨