- 변수는 값을 저장하는 메모리 공간.
- 변순 선언 = 메모리 할당
# var: 변수 선언 키워드
# a = 변수명
# int = 타입
# 10 = 초깃값
var a int = 10
- 이름: 사용자가 정의한 이름
- 값: 메모리 공간에 저장된 값
- 주소: 메모리 공간의 주소
- 타입: 변숫값의 형태
- 문자, _, 숫자로 정의할 수 있지만 첫 글자는 문자나 _로 시작해야함.
- _를 제외한 다른 특수문자를 포함할 수 없음.
- 영문자를 제외한 문자를 사용하지 않음.
- 두번째 문자부터 대문자로 표기.
- '_'는 일반적으로 하용하지 않음.
변수는 아래와 같은 타입을 가지고 있음.
- 숫자
- 불리언
- 문자열
- 배열
- 슬라이스
- 구조체
- 포인터
- 함수 타입
- 인터페이스
- 맵
- 채널
- 다양한 형태의 변수 선언을 지원함.
package main
import "fmt"
func main() {
var a int = 3 // 기본
var b int // 초깃값 생략(default 값)
var c = 4 // 타입 생략(초깃값 타입)
d := 5 // 선언 대입문 var 생략
fmt.Println(a, b, c, d)
}
-> 3 0 4 5
- 변수의 타입별 기본값이 존재함.
- 숫자는 정수는 int, 실수는 float64가 기본값.
- 선언 대입문으로 var 키워드 생략가능.
Go는 강력한 타입 검사를 실행하며, 타입 변환 시 다음과 같은 유의점이 있음.
- (실수 타입 - > 정수 타입): 소숫점 제거
- (큰 범위 -> 작은 범위): 값이 달라질 수 있음.