데이터를 저장하는 일정 공간
Golang 에서의 변수를 보기전에, 예제를 위한 코드를 먼저 보자
package main import "fmt" func main() { var a int var b int a = 3 b = 4 fmt.Println(a + b) }
변수의 속성에는 변수명, 값, 종류(Type) 가 있다.
변수는 '변하는 숫자' 라는 의미도 담겨 있다. Golang에서는 변수를 선언하겠다는 의미의 키워드를 사용하는데, variable에서 나온 var이라는 키워드를 사용한다.
위 코드에서 var a int 에서 var은 변수를 선언하겠다는 의미이고, a는 변수명, int는 종류(Type)가 된다. 변수의 속성에서 값은 아래에 a = 3 이라고 대입된 것을 볼 수 있다.
Golang에서의 변수의 종류(Type)에는 아래와 같이 있다. 그리고, 뒤에 붙어오는 숫자에 따라서 메모리에서 차지하는 크기가 달라진다.
int : 정수형
- 32비트 컴퓨터 => 4바이트
- 64비트 컴퓨터 => 8바이트
float : 실수형
- 32비트 컴퓨터 => 4바이트
- 64비트 컴퓨터 => 8바이트
bool : 논리형, 크기 측정x
string : 문자형, 문자열의 길이에 따라 크기가 결정
- 영어 : 1바이트
- 그외 : 2~3바이트
var word string = "abc"
위 코드에서, word 라는 변수에 abc라는 문자열이 저장된 모습을 볼 수 있는데, Golang에서는 abc라는 문자열 하나하나를 룬(rune) 이라고 표현 한다. 즉, string 타입은 룬(rune) 의 모임이라고 할 수 있으며, 후에 배울 배열과 관련이 있다.
package main import "fmt" func main() { var a int var b int a = 3.14159 // 실수형이 들어가서 에러 b = "calculator" // 문자형이 들어가서 에러 fmt.Println(a + b) }
변수를 선언하고, 값을 대입할 때, 종류(Type)에 맞게 선언해 주어야 하는데, 만약 위와 값을 대입했다면 오류가 발생할 것이다.
GO 소스파일
package main import "fmt" func main() { var a int var b int a = 3 b = 4 fmt.Println(a + b) var word string = "abc" fmt.Println(word) }