php 편집기 Yuzai가 소개했습니다. Go 언어에서는 명령줄 매개변수를 플래그 패키지를 통해 구문 분석할 수 있습니다. flag.IntVar 또는 flag.Int를 사용하여 앞에 0이 있는 정수 인수를 구문 분석하면 이를 8진수로 구문 분석합니다. 즉, 명령줄에 0으로 시작하는 정수 인수를 입력하면 10진수가 아닌 8진수로 구문 분석됩니다. 때로는 인수를 8진수 대신 10진수로 처리하고 싶을 수도 있기 때문에 이는 주의해야 할 사항입니다. 따라서 플래그 패키지를 사용하여 매개변수를 구문 분석할 때 선행 0이 있는 정수 매개변수를 구문 분석하는 방법에 특별한 주의를 기울여야 합니다.
다음 코드를 작성했습니다:
으아악이 명령을 실행할 때:
으아악출력이 정확합니다.
하지만 010
运行它,golang 会将 010
解析为八进制(010
== 8
)을 사용한다면 왜 그럴까요?
이거 버그인가요?
오, 이건 끔찍한 함정이군요.
이거 버그인가요?
2011년 Go 1.0.0 이전에 의도적으로 추가되었습니다. p> 플래그: 16진수 및 8진수 정수 플래그를 입력할 수 있습니다.
문서화된
플래그
의 사용법보다는 strconv.ParseInt
문서에서 전체 동작을 찾을 수 있습니다. strconv.ParseInt
的文档中找到完整的行为,而不是它的flag
위 내용은 앞에 0이 있는 정수 인수는 flag.IntVar 또는 flag.Int에 의해 8진수로 구문 분석됩니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!