사용자 정의 타입 정의하기
Coddy GO 여정의 기초 섹션에 포함된 레슨 — 109개 중 94번째.
Go에서 기존 타입을 기반으로 자신만의 사용자 정의 타입을 만들 수 있습니다. 이는 코드에 더 많은 명확성과 타입 안전성을 제공합니다.
섭씨 온도를 위한 사용자 정의 타입을 정의합니다:
type Celsius float64
func main() {
var temperature Celsius = 25.5
fmt.Printf("Temperature: %.1f°C\n", temperature)
}결과는 온도 값을 보여줍니다:
Temperature: 25.5°C사용자 정의 타입은 기반 타입처럼 동작하지만 컴파일러에 의해 별개의 타입으로 취급되어, 코드 가독성을 높이고 논리적 오류를 방지합니다.
챌린지
초급이 챌린지에서는 Go에서 사용자 정의 타입을 정의하는 연습을 합니다. 사용자 정의 타입을 사용하면 기존 타입을 기반으로 자신만의 데이터 타입을 만들 수 있습니다.
여러분의 작업은 float64를 기반으로 하는 Temperature라는 사용자 정의 타입을 정의하고, 이 타입의 변수를 생성하는 것입니다.
타입을 정의한 후, 프로그램은 온도 변수의 값과 타입을 출력해야 합니다.
치트 시트
Go에서 type 키워드를 사용하여 사용자 정의 타입을 생성합니다:
type Celsius float64사용자 정의 타입은 기존 타입을 기반으로 하지만 컴파일러에 의해 별개의 타입으로 처리됩니다:
type Celsius float64
func main() {
var temperature Celsius = 25.5
fmt.Printf("Temperature: %.1f°C\n", temperature)
}사용자 정의 타입은 기본 타입처럼 동작하면서도 코드 가독성을 높이고 타입 안전성을 제공합니다.
직접 해보기
package main
import "fmt"
// TODO: float64를 기반으로 하는 'Temperature'라는 사용자 정의 타입 정의
func main() {
// 값이 23.5인 Temperature 타입의 변수 생성
var roomTemp Temperature = 23.5
// roomTemp의 값과 타입을 출력
fmt.Printf("Room temperature: %v\n", roomTemp)
fmt.Printf("Type of roomTemp: %T\n", roomTemp)
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
2변수와 기본 자료형
변수란 무엇인가`:=`를 이용한 타입 추론정수 (int)부동 소수점 수불리언 (Booleans)문자열 (Strings)제로 값 (Zero Values)상수명명 규칙요약 - 변수와 타입