> 백엔드 개발 > Golang > Golang의 Windows에서 Scanf가 실패하는 이유는 무엇입니까?

Golang의 Windows에서 Scanf가 실패하는 이유는 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-11-03 16:11:03
원래의
326명이 탐색했습니다.

Why is Scanf Failing on Windows in Golang?

Windows에서 GOLang Scanf 오류

GOLang에서는 Windows 시스템에서 Scanf 함수를 연속적으로 사용하면 오류가 발생하는 것으로 알려져 있습니다. Scanf의 첫 번째 사용에서는 사용자 입력을 성공적으로 검색했지만 후속 시도는 실패하여 함수가 갑자기 종료됩니다.

이 문제를 해결하려면 보다 세련된 접근 방식을 제공하는 Bufio 패키지를 활용하는 것이 좋습니다. . Bufio는 공백을 구분 기호로 사용하는 것과 같은 Scanf의 특정 복잡성을 추상화합니다. 다음은 Bufio를 사용하여 자격 증명을 정상적으로 수집하는 방법에 대한 예입니다.

<code class="go">func credentials() (string, string) {
    reader := bufio.NewReader(os.Stdin)

    fmt.Print("Enter Username: ")
    username, _ := reader.ReadString('\n')

    fmt.Print("Enter Password: ")
    password, _ := reader.ReadString('\n')

    return strings.TrimSpace(username), strings.TrimSpace(password) // ReadString() leaves a trailing newline character
}</code>
로그인 후 복사

ReadString을 사용하여 사용자 입력을 검색함으로써 Bufio 패키지는 Windows에서 Scanf와 관련하여 발생하는 문제를 제거합니다. 또한 후행 개행 문자를 자동으로 처리하여 깨끗하고 일관된 데이터 캡처를 보장합니다.

위 내용은 Golang의 Windows에서 Scanf가 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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