Go 언어란?

이재홍 http://www.pyrasis.com 2014.12.17 ~ 2015.02.07

약 타입과 강 타입

약 타입(Weakly-typed)은 값의 타입을 바꿀 수 있습니다. 여기서 값의 타입 바꾸기를 형 변환이라고 합니다. 즉 약 타입 언어는 자료형이 달라도 컴파일 또는 실행 시점에 정해진 규칙에 따라 암시적 형 변환(Implicit conversion)을 해주는 방식입니다. 다음과 같이 C 언어는 약 타입 언어이므로 자료형이 달라도 암시적 형 변환을 합니다.

C 언어

int a = 1;
float b = 1.3f;
float c = a + b; // int 형인 a가 float 형으로 변환됩니다.

강 타입(Strongly-typed)은 값 자체가 타입이며, 타입을 바꿀 수 없습니다. 즉 컴파일 또는 실행할 때 자료형이 다르면 에러를 발생시킵니다. 다음과 같이 Go 언어는 강 타입 언어이므로 암시적 형 변환을 하지 않습니다. 또한, 컴파일할 때 타입을 결정하므로 정적 타입 언어입니다.

Go 언어

var a int = 1
var b float32 = 1.3
var c float32 = a + b // int 형인 a가 float32 형으로 변환되지 않고 컴파일 에러 발생

저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.

Published

01 June 2015