Go 언어 변수 범위


Go 언어 변수 범위

범위는 소스 코드에서 선언된 식별자가 나타내는 상수, 유형, 변수, 함수 또는 패키지의 범위입니다.

Go 언어에서는 세 위치에서 변수를 선언할 수 있습니다.

  • 함수 내에서 정의된 변수를 지역 변수라고 합니다

  • 함수 외부에 정의된 변수를 전역 변수라고 합니다

  • 함수 정의에 있는 변수를 형식 매개변수라고 합니다

로컬 변수에 대해 자세히 알아보겠습니다. , 전역 변수 및 형식 매개변수. <…


다음 예에서 main() 함수는 지역 변수 a, b, c를 사용합니다.

package main

import "fmt"

func main() {
   /* 声明局部变量 */
   var a, b, c int 

   /* 初始化参数 */
   a = 10
   b = 20
   c = a + b

   fmt.Printf ("结果: a = %d, b = %d and c = %d\n", a, b, c)
}

위 예의 실행 출력 결과는 다음과 같습니다.

结果: a = 10, b = 20 and c = 30

전역 변수

함수 외부에 선언된 변수를 전역 변수라고 합니다. 전역 변수는 전체 패키지에서 사용할 수 있으며 심지어 외부 패키지에서도 사용할 수 있습니다(내보낸 후).


전역 변수는 모든 함수에서 사용할 수 있습니다. 다음 예에서는 전역 변수를 사용하는 방법을 보여줍니다.

package main

import "fmt"

/* 声明全局变量 */
var g int

func main() {

   /* 声明局部变量 */
   var a, b int

   /* 初始化参数 */
   a = 10
   b = 20
   g = a + b

   fmt.Printf("结果: a = %d, b = %d and g = %d\n", a, b, g)
}

위 예 실행의 출력 결과는 다음과 같습니다.

结果: a = 10, b = 20 and g = 30

Go 언어 프로그램의 전역 변수와 지역 변수는 같은 이름을 가질 수 있지만 함수 내의 지역 변수가 우선권을 갖습니다. 예는 다음과 같습니다.

package main

import "fmt"

/* 声明全局变量 */
var g int = 20

func main() {
   /* 声明局部变量 */
   var g int = 10

   fmt.Printf ("结果: g = %d\n",  g)
}

위 예의 실행 출력은 다음과 같습니다.

结果: g = 10

형식 매개변수

형식 매개변수는 기능. 예는 다음과 같습니다.

package main

import "fmt"

/* 声明全局变量 */
var a int = 20;

func main() {
   /* main 函数中声明局部变量 */
   var a int = 10
   var b int = 20
   var c int = 0

   fmt.Printf("main()函数中 a = %d\n",  a);
   c = sum( a, b);
   fmt.Printf("main()函数中 c = %d\n",  c);
}

/* 函数定义-两数相加 */
func sum(a, b int) int {
   fmt.Printf("sum() 函数中 a = %d\n",  a);
   fmt.Printf("sum() 函数中 b = %d\n",  b);

   return a + b;
}

위 예의 실행 출력은 다음과 같습니다.

main()函数中 a = 10
sum() 函数中 a = 10
sum() 函数中 b = 20
main()函数中 c = 30

로컬 및 전역 변수 초기화

다양한 기본값 지역 및 전역 변수 유형은 다음과 같습니다.