3장 변수 타입 변환하기

    개발을 하다보면 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)
    }

    위 코드에서는

    1. int 타입 변수인 a에 10이라는 값을 주고
    2. float32 타입 변수 b를 선언
    3. 그리고 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

    댓글