변수 선언
golang은 다른 언어들과 마찬가지로 변수를 사용하기 위해 변수를 선언해야 합니다.
예를 들어 'a'라는 정수형 변수를 선언을 하기 위해서는 아래와 같이 코드를 작성합니다.
var a int // a라는 변수를 정수 형태로 선언한다
var는 variable의 약자로 '변하기 쉬운'이라는 뜻이며, int는 integer의 약자로 정수라는 뜻입니다.
a는 변수의 이름입니다.
또한 Golang에는 일부 변수는 변수 형태(type)로 크기를 지정해 줄 수 있습니다
정수형 변수
정수형 변수를 선언하는 방법은 아래처럼 여러 방법이 있습니다.
단순하게 int 또는 uint라고만 선언할 수 있지만 크기를 지정하는 이유는 네트워크 통신이나 프로그램 실행 시 불필요한 메모리를 사용하지 않기 위함입니다.
정수형 변수 선언 방법 | 범위 | 설명 |
var a uint | 부호없는 32bit(4byte) 정수형 | |
var b uint8 | 0~255 | 부호없는 8bit(1byte) 정수형 |
var c uint16 | 0~65535 | 부호없는 16bit(1byte) 정수형 |
var d uint32 | 0~42억 | 부호없는 32bit(4byte) 정수형 |
var e uint64 | 0~(2^64)-1 까지 | 부호없는 64bit(8byte) 정수형 |
var a int | 부호있는 32bit(4byte) 정수형 | |
var b int8 | -128 ~ 127까지 | 부호있는 8bit(1byte) 정수형 |
var c int16 | -32768~32767까지 | 부호있는 16bit(2byte) 정수형 |
var d int32 | -21억~21억까지 | 부호있는 32bit(4byte) 정수형 |
var e int64 | 음수(-)를 포함한 2^64ㄱ개 까지 | 부호있는 64bit(8byte) 정수형 |
실수형 변수
실수형 변수 선언 방법 | 설명 |
var a float32 | 32비트 부동소수점, 7자리 정밀도 |
var b float64 | 64비트 부동소수점, 12자리 정밀도 |
문자형 변수
문자형 변수 선언 방법 | 설명 |
var s string | 문자열을 저장하기 위한 자료형, 크기는 저장된 값의 길이에 따라 다르다 |
포인터형 변수
포인터형 변수 선언 방법 | 설명 |
var p uintptr | uint와 같은 크기를 갖는 포인터형 |
자료형 변수
자료형 변수 선언 방법 | 설명 |
var bo bool | 참, 거짓을 표현하기 위한 8비트 자료형 |
var byt byte | 8비트 바료형 |
var ru rune | 유니코드 저장을 위한 자료형, 크기는 int32와 동일합니다. |
변수 선언과 초기화
Golang 은 앞서 설명한 것 처럼 'var 변수명 자료형'의 형태로 변수를 선언합니다. 하지만 자료형을 생략 하여 선언을 할 수 있는데 생략을 하게되면 대입하는 값에 따라 자료형이 결정됩니다.
*주의할 점은 변수를 선언과 함께 초기값을 대입해 주어야 합니다.