변수의 범위

HeejinShin·2022년 10월 4일
0

GO

목록 보기
3/10

go lang 변수

  • 변수의 기본 특징 (중요)

    • 이름이 있다
    • 값이 있다
    • 타입이 있다
    • 주소가 있다
  • 그래서 지정된 주소가 메모리 상에서 변수 위치의 시작점이 되고 그 시작점부터 변수의 사이즈만큼 크기가 할당되어 끝점이 지정된다고 볼 수 있다. 사이즈는 타입에 의해 결정된다. 각 타입은 사이즈가 정해져있다.

  • 변수의 범위
    - 변수의 범위는 변수가 지정된 중괄호 안이다. 그래서 중괄호 밖에서 해당 변수를 호출하면 변수가 선언되지 않았다는 에러가 발생한다.

var g int = 10 

func main() {

	var m int = 20
	{
		var s int = 50
		fmt.Println(m, s, g)
	}
	m = s + 20   // 여기서 s는 s가 선언되었던 중괄호{} 밖을 이미 벗어나 사라진 상태
}

여기서 s는 s가 선언되었던 중괄호 {} 밖을 벗어나 이미 사라진 상태이다. 반면에 m은 m이 선언되었던 main함수의 중괄호 안에 있으므로 아직 살아있다. 또한, 가장 위에 g 변수는 main함수 바깥에 선언되어 위치의 제약없이 사용이 가능하며 위 패키지 내에서는 어디에서나 사용이 가능하다. 이를 GO언어에서는 패키지 전역 변수라고 부른다.

profile
Studying Go Lang

0개의 댓글