>백엔드 개발 >Golang >Go에서 함수 외부에 변수를 선언할 수 없는 이유는 무엇입니까?

Go에서 함수 외부에 변수를 선언할 수 없는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-29 20:00:15901검색

Why Can't I Declare a Variable Outside a Function in Go?

Go에서 함수 본문 외부의 비선언문

Go에서는 함수 본문 외부의 비선언문이 오류를 발생시킵니다. 이는 코드 조각에서 관찰됩니다.

package apitest

import (
    "fmt"
)

test := "This is a test."

func main() {
    fmt.Println(test)
    test = "Another value"
    fmt.Println(test)
}

이 코드는 main() 함수 외부에서 변수를 선언하고 값을 할당하려고 시도합니다. 그러나 Go는 함수 본문 외부의 비선언문을 허용하지 않습니다.

관용적 접근 방식

패키지 내 어디에서나 액세스할 수 있는 변수를 선언하는 관용적인 Go 방식이지만 상수가 반드시 필요한 것은 아닙니다:

var test = "This is a test"
  • var 키워드를 사용하면 test.
  • 소문자 "t"는 변수가 패키지 내에서만 표시됨(내보내지 않음)을 나타냅니다.
  • 할당 연산자 =는 "This is a test" 값으로 변수를 초기화합니다.

가변특성

테스트 변수:

  • apitest 패키지 내 어디에서나 액세스할 수 있습니다.
  • 재할당하여 변경할 수 있습니다.

추가 참고 사항

  • var test = "이것은 test"인 경우 var test string = "This is a test"라고 쓸 수 있지만 Go의 관용적인 표현으로 간주되지는 않습니다.
  • Go는 복잡한 패키지 초기화 또는 패키지 상태 설정을 위한 init 함수도 제공합니다. Init는 메인 실행 전에 호출됩니다.

위 내용은 Go에서 함수 외부에 변수를 선언할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.