요약 - 문제 처리하기
Coddy GO 여정의 기초 섹션에 포함된 레슨 — 109개 중 109번째.
챌린지
쉬움간단한 온도 변환 프로그램을 통해 Go의 에러 핸들링을 연습해 봅시다.
여러분의 작업은 적절한 에러 핸들링과 함께 섭씨 온도를 화씨 온도로 변환하는 함수를 구현하는 것입니다.
다음 기능을 수행하는 celsiusToFahrenheit 함수를 완성하세요:
- 공식 F = C × 9/5 + 32를 사용하여 섭씨 온도를 화씨로 변환합니다.
- 온도가 절대 영도(-273.15°C) 미만인 경우 에러를 반환합니다.
에러 메시지의 경우, 반드시 정확히 "Error: temperature below absolute zero"를 반환해야 합니다.
main 함수에는 구현을 검증하기 위한 테스트 케이스가 포함되어 있습니다.
직접 해보기
package main
import (
"errors"
"fmt"
)
// celsiusToFahrenheit는 섭씨를 화씨로 변환합니다
// 온도가 절대 영도(-273.15°C) 미만인 경우 에러를 반환합니다
func celsiusToFahrenheit(celsius float64) (float64, error) {
// TODO: 변환 로직 구현
// 1. 온도가 절대 영도(-273.15°C) 미만인지 확인
// 2. 유효한 경우, 다음 공식을 사용하여 변환: F = C × 9/5 + 32
// 3. 적절한 값과 에러를 반환
return 0, nil
}
func main() {
// 유효한 온도 테스트
fmt.Println("Converting 25°C to Fahrenheit:")
fahrenheit, err := celsiusToFahrenheit(25)
if err != nil {
fmt.Println(err)
} else {
fmt.Printf("25°C = %.2f°F\n", fahrenheit)
}
// 또 다른 유효한 온도 테스트
fmt.Println("\nConverting 0°C to Fahrenheit:")
fahrenheit, err = celsiusToFahrenheit(0)
if err != nil {
fmt.Println(err)
} else {
fmt.Printf("0°C = %.2f°F\n", fahrenheit)
}
// 유효하지 않은 온도 테스트 (절대 영도 미만)
fmt.Println("\nConverting -300°C to Fahrenheit:")
fahrenheit, err = celsiusToFahrenheit(-300)
if err != nil {
fmt.Println(err)
} else {
fmt.Printf("-300°C = %.2f°F\n", fahrenheit)
}
}기초의 모든 레슨
2변수와 기본 자료형
변수란 무엇인가`:=`를 이용한 타입 추론정수 (int)부동 소수점 수불리언 (Booleans)문자열 (Strings)제로 값 (Zero Values)상수명명 규칙요약 - 변수와 타입