var a int = 10

**var**는 변수의 영문인 variable의 약자로 변수 선언을 알리는 키워드다. 이어서 변수 이름을 적고, 타입을 적는다. 대입 연산자 = 오른쪽에 초깃값을 적어 변수 선언을 마친다.

변수 이름 규칙

변수 권장 사항

변수 타입

이름 설명 값의 범위
uint8 1바이트 부호 없는 정수 0 ~ 255
uint16 2바이트 부호 없는 정수 0 ~ 65535
uint32 4바이트 부호 없는 정수 0 ~ 4294967295
uint64 8바이트 부호 없는 정수 0 ~ 18446744073709551615
int8 1바이트 부호 있는 정수 -128 ~ 127
int16 2바이트 부호 있는 정수 -32768 ~ 32767
int32 4바이트 부호 있는 정수 -2147483648 ~ 2147483647
int64 8바이트 부호 있는 정수 -9223372036854775808 ~ 9223372036854775807
float32 4바이트 실수 IEEE-754 32비트 실수
float64 8바이트 실수 IEEE-754 64비트 실수
complex64 8바이트 복소수(진수, 가수) 진수와 가수 범위는 float32 범위와 같음
complex128 16바이트 복소수(진수, 가수) 진수와 가수 범위는 float64 범위와 같음
byte uint8의 별칭
1바이트 데이터를 나타낼 때 사용 0 ~ 255
rune int32의 별칭
UTF-8로 문자 하나를 나타낼 때 사용 -2147483648 ~ 2147483647
int 32비트 컴퓨터에서는 int32
64비트 컴퓨터에서는 int64와 같음
uint 32비트 컴퓨터에서는 uint32
64비트 컴퓨터에서는 uint64

변수 선언의 다른 형태

package main

import "fmt"

func main() {
	var a int = 3   // 기본 형태
	var b int       // 초깃값 생략. 초깃값은 타입별 기본값으로 대체
	var c = 4       // 타입 생략. 변수 타입은 우변 값의 타입이 됨
	d := 5          // 선업 대입문 :=을 사용해서 var 키워드와 타입 생략
	
	fmt.Println(a, b, c, d)
}

OUTPUT : 3 0 4 5