Go의 For 루프 초기화에서 변수 유형을 명시적으로 선언할 수 있나요?

Barbara Streisand
풀어 주다: 2024-11-24 10:53:13
원래의
293명이 탐색했습니다.

Can I Explicitly Declare Variable Types in Go's For Loop Initialization?

Go의 For 루프 초기화 문에서 변수 선언

Go에서는 for 루프의 초기화 문에서 변수를 선언할 때 다음과 같은 일반적인 오해가 발생합니다. 변수 유형을 명시적으로 지정하려고 합니다. 구문에서는 할당 형식 i := 0으로 표시되는 짧은 변수 선언을 허용하지만 var i = 0을 사용하는 명시적 유형 선언은 금지합니다.

이 제한을 해결하려면 변수 외부에서 변수를 선언해야 합니다. 예에서 볼 수 있듯이 for 루프는 다음과 같습니다.

var i int64
for i = 0; i < 10; i++ {
    // i is of type int64 here
}
로그인 후 복사

이 제한은 초기화 명령문이 다음을 사용하는 짧은 변수 선언만 포함할 수 있다는 언어 사양에서 비롯됩니다. := 연산자.

그러나 초기화 문에서 유형 캐스팅을 사용하여 이 제한을 피할 수 있습니다.

for i := int64(0); i < 10; i++ {
    // i is of type int64 here
}
로그인 후 복사

이 경우 int64() 함수는 리터럴 0을 캐스팅합니다. 원하는 유형으로. 간단한 경우에는 이 방법으로 충분할 수 있지만 복잡한 표현식이나 값을 캐스팅할 때 예기치 않은 동작이 발생할 수 있습니다. 따라서 명확성을 유지하고 잠재적인 위험을 피하기 위해 for 루프 외부에서 특정 유형의 변수를 선언하는 것이 좋습니다.

위 내용은 Go의 For 루프 초기화에서 변수 유형을 명시적으로 선언할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿