Golang의 범위 이해
4073 단어 go
This article first appeared on my personal website https://luigimorel.co
범위란 무엇입니까?
범위는 값과 표현식이 "보이거나"프로그램 내에서 액세스할 수 있는 현재 실행 컨텍스트로 정의할 수 있습니다.
변수나 표현식이 현재 범위에 없으면 프로그램의 다른 부분에서 사용할 수 없습니다.
Go에는 두 가지 유형의 범위가 있습니다.
로컬 범위
로컬 범위는 변수가 함수 본문 내에서 선언될 때 달성됩니다. 이러한 변수는 따라서 (함수 내에서) 로컬 범위를 갖는다고 합니다.
함수 외부에서 액세스할 수 없습니다.
이러한 유형의 변수를 지역 변수라고 합니다. 예를 들어,
package main
import "fmt"
func printNumber() {
b := 2
}
func main() {
printNumber()
// b is inaccessible
fmt.Println("Value of b is", b)
}
글로벌 범위
변수가 함수 본문 외부에서 선언되면 전역 범위를 갖습니다. 이러한 변수를 전역 변수라고 합니다.
프로그램의 모든 부분에서 액세스할 수 있습니다.
예를 들어,
package main
import "fmt"
var x string
func printString () {
x = "This is a string"
}
func main() {
printString()
fmt.Println("Value of x is", x)
}
프로그램에서 범위가 중요한 이유는 무엇입니까?
변수가 전역 및 지역 범위에서 동일한 이름을 갖는 경우 어떻게 됩니까?
변수 이름이 같은 지역 변수와 전역 변수가 있는 경우 컴파일러는 지역 변수에 우선 순위를 부여합니다.
예를 들어,
// Program to illustrate the priorities of variables
package main
import "fmt"
// define global variable
x := 10
func main() {
// define local variable with same name
x := 30
fmt.Println(random)
}
산출
30
자원
Reference
이 문제에 관하여(Golang의 범위 이해), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/morelmiles/understanding-scope-in-golang-1bn3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)