Menu
Coddy logo textTech

포맷된 출력

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

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

먼저, 자리 표시자(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)으로 대체됩니다

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을 곱하는 방식을 확인해 보세요.

또한 형식 문자열의 특수 시퀀스인 %%를 확인해 보세요. 이것은 fmt.Printf()를 사용하여 리터럴 % 문자를 출력하는 방법입니다. 단일 %는 자리 표시자의 시작으로 취급되므로, %%를 사용하여 이를 이스케이프하고 퍼센트 기호 자체를 표시합니다.

challenge icon

챌린지

쉬움

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

형식 지정자(format verbs)를 사용하여 특정 형식으로 표시해야 하는 제품 정보가 있습니다. 변수들은 이미 정의되어 있습니다.

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

제품 정보를 예상 출력에 표시된 것과 정확히 일치하게 표시하세요.

치트 시트

fmt.Printf()를 사용하여 서식 지정자(placeholder)와 함께 출력을 형식화합니다:

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

일반적인 서식 지정자(format verbs):

  • %s - 문자열 값
  • %d - 정수 값
  • %.1f - 소수점 이하 1자리 부동 소수점
  • %.2f - 소수점 이하 2자리 부동 소수점
  • %t - 불리언 값
  • %c - 문자 값
  • %% - 퍼센트 기호 리터럴 (%)

변수의 순서는 서식 문자열에 있는 서식 지정자의 순서와 일치해야 합니다.

출력 후 줄을 바꾸려면 서식 문자열 끝에 \n을 사용하세요.

직접 해보기

package main

import "fmt"

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

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

기초의 모든 레슨