포맷된 출력
Coddy GO 여정의 기초 섹션에 포함된 레슨. 109개 중 29번째.
fmt.Printf() 함수를 사용하여 Go에서 출력을 형식화하는 방법을 알아봅시다. 이 함수는 플레이스홀더를 사용해 값을 특정 형식으로 표시할 수 있게 해줍니다.
먼저 자리 표시자를 사용해 다양한 데이터 유형의 형식을 지정하는 프로그램을 만들어 보겠습니다.
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" 텍스트가 표시됩니다. 문자열의 자리 표시자는 변수의 실제 값으로 바뀝니다.
각 플레이스홀더가 어떤 역할을 하는지 알아봅시다:
// %s는 문자열 값(name)으로 대체됩니다
// %d는 정수 값(age)으로 대체됩니다
// %.1f는 소수점 이하 1자리를 표시하는 부동 소수점 값(height)으로 대체됩니다
// %t는 불리언 값(true 또는 false)으로 대체됩니다
// %c는 단일 문자('A'와 같은 룬)로 대체됩니다형식 문자열 끝에 있는 \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가 파이를 소수점 이하 2자리까지만 표시하고, 백분율을 백분율 값으로 표시하기 위해 100을 곱하는 방법에 주목하세요.
형식 문자열의 %%에도 주목하세요. 이것은 문자 그대로의 % 기호를 출력하는 특수 이스케이프 시퀀스입니다. 단일 %는 자리 표시자의 시작으로 처리되므로, 출력에 실제 퍼센트 기호를 표시하려면 %%를 사용합니다.
챌린지
쉬움이 챌린지에서는 Go의 `fmt.Printf()` 함수를 사용해 형식화된 출력을 연습합니다.
특정 형식으로 표시해야 하는 제품 정보가 있습니다. 형식 지정 동사를 사용하세요. 변수는 이미 정의되어 있습니다.
적절한 형식 지정 동사와 함께 `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()와 서식 지정자를 사용하세요:
// Product: Wireless Headphones (ID: 12345)
// Price: $79.99
// In Stock: true
//
// 힌트: 문자열에는 %s, 정수에는 %d, 부동 소수점 수에는 %.2f, 불리언 값에는 %t를 사용하세요
// 올바른 형식을 위해 각 줄 끝에 \n을 추가하세요
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
2변수와 기본 자료형
변수란 무엇인가`:=`를 이용한 타입 추론정수 (int)부동 소수점 수불리언 (Booleans)문자열 (Strings)제로 값 (Zero Values)상수명명 규칙요약 - 변수와 타입직접 연습해 보세요: 온라인 Go 컴파일러