개발을 하다보면 int에서 float으로 또는 float에서 int로 와 같이 타입을 변경해야하는 일이 발생하는 데요.
이런 경우에 go언어는 어떻게 하는 지 알아보죠.
우선 다른 언어처럼 int 타입을 그냥 float 타입에 대입하면 어떻게 되는 지 보면은...
package main
import "fmt"
func main() {
var a int = 10
var b float32
b = a
fmt.Println(a, b)
}
위 코드에서는
- int 타입 변수인 a에 10이라는 값을 주고
- float32 타입 변수 b를 선언
- 그리고 b에 int 타입 변수 a의 값을 대입
이런 식으로 진행했는 데 코드를 실행하면 cannot use a (type int) as type float32 in assignment 의 에러가 발생합니다.
프로그래밍 언어는 강 타입 언어와 약 타입 언어로 나눠집니다. Go 언어는 강 타입 언어에 속하면 그 중에서 최강 타입 언어라고 볼 수 있어요. 그래서 같은 숫자값이라도 타입이 다르면 연산이 되지 않기 때문에 타입을 변환해 줘야 합니다.
타입을 변환할 때는 단순합니다. {변환하고자 하는 타입}(변화시킬 변수) 이런 식으로 사용하면 됩니다.
타입 변환을 사용해서 위 코드에서 에러를 제거해 보면 아래 코드와 같습니다.
package main
import "fmt"
func main() {
var a int = 10
var b float32
b = float32(a)
fmt.Println(a, b)
}
'golang' 카테고리의 다른 글
2장 변수 선언하기 (0) | 2022.01.31 |
---|---|
Hello World 를 print한 프로그램 분석하기 (0) | 2022.01.31 |
1장 Hello World 출력하기 (0) | 2022.01.25 |
댓글