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" |