본문 바로가기
카테고리 없음

[golang] - 데이터 타입과 변수 선언

by CHML 2016. 2. 14.

  Go 언어에서는 전통적인 컴파일 언어에서 구문의 끝을 나타내는 세미콜론(;)을 생략한다. 세미콜론은 한 줄에 여러 구문을 작성할 때, 구문을 구분하기 위한 구분자로 사용된다.




1. 데이터 타입

  Go 언어에서는 불, 바이트, 포인터, 정수, 실수(부동소수점), 복소수, 룬, 문자열 총 7개의 데이터 타입을 지원한다. 정수 타입은 부호가 없는 정수와 부호가 있는 정수를 포함하며, 실수 타입은 IEEE-754 정의를 따른다. char 타입의 배열로 문자열을 표현하는 C/C++와는 다르게, Go 언어에서는 string 키워드로 문자열 데이터 타입을 선언할 수 있다.


 자료형

저장범위

 설명

 uint8

0 ~ 255

 부호 없는 8비트 정수형 

 uint16

0 ~ 65,535 

 부호 없는 16비트 정수형 

 unit32 

0 ~ 4,294,967,295 

 부호 없는 32비트 정수형

 uint64

0 ~ 18,446,744,073,709,551,615 

 부호 없는 64비트 정수형

 uint

 

 32비트 시스템에서는 uint32, 64비트 시스템에서는 uint64

 int8

-128 ~ 127 

 부호 있는 8비트 정수형 

 int16

-32,768 ~ 32,767 

 부호 있는 16비트 정수형 

 int32 

-2,147,483,648 ~ 2,147,483,647 

 부호 있는 32비트 정수형

 int64 

-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807  

 부호 있는 64비트 정수형

 int

 

 32비트 시스템에서는 int32, 64비트 시스템에서는 int64

 float32

 

 IEEE-754 32비트 부동소수점, 7자리 정밀도

 float64

 

 IEEE-754 64비트 부동소수점, 12자리 정밀도

 complex64

 

 float32 크기의 실수부와 허수부로 구성된 복소수 

 complex128

 

 float64 크기의 실수부와 허수부로 구성된 복소수 

 uintptr 

 

 uint와 같은 크기를 갖는 포인터형 

 bool

 

 참, 거짓을 표현하기 위한 8비트 자료형

 byte

 

 8비트 자료형 

 rune

 

 유니코드 저장을 위한 자료형, 크기는 int32와 동일

 string

 

 문자열을 저장하기 위한 자료



2. 변수 선언

  Go 언어는 전통적인 컴파일 언어와 다르게 변수 선언 시, "var 변수명 자료형"의 형태로 변수를 선언한다. 자료형을 생략하면 변수에 대입하는 값의 자료형에 의해 변수의 자료형이 결정되며, 자료형을 생략하면 반드시 초기값을 대입해야 한다. 변수명에 대해서는 C/C++, Java와 같이 문자 또는 _로 시작하여 문자와 숫자의 조합을 허용한다.


 

 var i int

 var threshold float32

 var name string

 

 var j int = 100

 var distance float32 = 1.3405

 var loc string = "pointA"


 var k = 1000

 var alpha = 0.56

 var machine = "x86"