포맷된 출력
Coddy GO 여정의 기초 섹션에 포함된 레슨. 109개 중 29번째.
fmt.Printf() 함수를 사용하여 Go에서 출력을 formatting하는 방법을 알아봅시다. 이 함수를 사용하면 placeholders를 사용하여 특정 형식으로 값을 display할 수 있습니다.
먼저, 자리 표시자를 사용하여 다양한 데이터 형식을 지정하는 프로그램을 만들어 보겠습니다:
name := "Gopher"
age := 5
height := 1.5
fmt.Printf("Name: %s, Age: %d, Height: %.1f\n", name, age, height)이 코드를 실행하면 "이름: Gopher, Age: 5, Height: 1.5"라는 텍스트가 화면에 표시됩니다. 문자열의 플레이스홀더는 변수의 실제 값으로 대체됩니다.
각 자리 표시자가 어떤 역할을 하는지 이해해 봅시다:
// %s는 문자열 값(name)으로 대체됩니다
// %d는 정수 값(age)으로 대체됩니다
// %.1f는 소수점 1자리를 표시하는 실수 값(height)으로 대체됩니다
// %t는 불리언 값(true 또는 false)으로 대체됩니다format string 끝에 있는 \n은 커서를 Enter 키를 누른 것처럼 새 줄로 이동시키는 이스케이프 문자입니다. 출력에 여분의 공백이 나타나므로 닫는 따옴표 앞에 공백 없이 따옴표 안에 있어야 합니다.
fmt.Printf() 함수는 형식 문자열 뒤에 제공하는 해당 변수로 각 자리 표시자를 대체합니다. 변수의 순서는 자리 표시자의 순서와 일치해야 합니다.
이제 다양한 유형의 formatting을 사용하는 또 다른 예제를 시도해 보겠습니다:
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에 대해 소수점 이하 2자리만 표시하고, percentage를 백분율 값으로 표시하기 위해 100을 곱한다는 점에 주목하세요.
format 문자열의 %%에도 주목하세요. 이는 리터럴 % 기호를 출력하는 특수 이스케이프 시퀀스입니다. 단일 %는 플레이스홀더의 시작으로 처리되므로, 출력에 실제 퍼센트 기호를 표시하려면 %%를 사용합니다.
챌린지
쉬움이 과제에서는 fmt.Printf() 함수를 사용하여 Go에서 형식이 지정된 출력을 연습합니다.
형식 지정 동사를 사용하여 특정 형식으로 표시해야 하는 제품 정보가 있습니다. 변수는 이미 정의되어 있습니다.
적절한 형식 지정 동사와 함께 fmt.Printf()를 사용하여 제품 정보를 표시하세요:
- 문자열에는 %s 사용
- 정수에는 %d 사용
- 소수점 이하 2자리의 부동 소수점 숫자에는 %.2f 사용
- boolean 값에는 %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 컴파일러