포맷된 출력
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을 곱하는 것을 확인해 보세요.
또한 형식 문자열 내의 %%를 주목하세요. 이것은 리터럴 % 기호를 출력하는 특별한 이스케이프 시퀀스입니다. 단일 %는 플레이스홀더의 시작으로 처리되므로, 출력에 실제 퍼센트 기호를 표시하고 싶을 때마다 %%를 사용합니다.
챌린지
쉬움이 챌린지에서는 `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을 추가하는 것을 잊지 마세요
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
2변수와 기본 자료형
변수란 무엇인가`:=`를 이용한 타입 추론정수 (int)부동 소수점 수불리언 (Booleans)문자열 (Strings)제로 값 (Zero Values)상수명명 규칙요약 - 변수와 타입