조건 검사 없이 입력 루프 탈출
Go에서 bufio.Scanner를 사용하면 콘솔의 입력을 한 줄씩 읽을 수 있습니다. 그러나 표준 Scan 기능은 자동으로 다음 토큰으로 진행하므로 명시적인 중단 조건이 없으면 잠재적으로 무한 루프가 발생할 수 있습니다.
문서에는 Scan이 입력 끝에 도달하면 false를 반환한다고 명시되어 있습니다. 이는 루프에서 벗어나기 위해 조건부 검사를 건너뛸 수 있다는 의미입니까?
문서의 잘못된 해석
안타깝게도 문서를 잘못 해석하셨습니다. Scanner에서 사용하는 기본 분할 기능은 각 텍스트 줄을 별도의 토큰으로 반환하는 ScanLines입니다.
ScanLines 동작
ScanLines에는 두 가지 주요 동작이 있습니다.
Loop
따라서 빈 줄만으로는 입력 종료를 알리지 않습니다. 루프는 파일 끝(EOF) 조건에 도달한 경우에만 중단되며 일반적으로 Ctrl-D를 누르는 등의 작업에 의해 실행됩니다.
해결 방법
탈출하려면 if 절이 없는 입력 루프의 경우 다음 중 하나를 수행해야 합니다.
그러나 일반적으로 단순성을 위해 조건부 확인을 유지하는 것이 좋습니다. 잠재적인 극단적인 경우를 방지합니다.
위 내용은 조건부 확인 없이 Go `bufio.Scanner` 입력 루프를 벗어날 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!