Go언어

타입 변환

현준의코딩 2023. 10. 24. 20:23

Go의 수학 및 비교 연산에는 동일한 타입의 값만 사용할 수 있으며, 타입이 다른 경우에는 에러가 발생.

var length float = 1.2
var width int = 2
fmt.Println("Area is", length * width) // float64와 int 타입을 같이 쓰면 에러
fmt.Println("length > width?", length > width) // 비교 연산도 타입이 다르면 에러 

값 할당에도 변수가 다르면 에러

var length float64 = 1.2
var width int = 2
length = width
fmt.Println(length) // 에러 발생.

해결책

변환할 타입 앞에 반환 타입을 써준다

var myInt int = 2
float64(myInt)

var length float64 = 1.2
var width int = 2
length = float64(width)
fmt.Println(length)

float에서 int로 바꾸면 소수점은 내림으로 바뀌니 유의!