>백엔드 개발 >Golang >使用bufio.NewScanner函数创建一个新的Scanner

使用bufio.NewScanner函数创建一个新的Scanner

王林
王林원래의
2023-07-25 09:18:191230검색

bufio.NewScanner 함수를 사용하여 새 스캐너 만들기

Go 언어에서 bufio 패키지는 몇 가지 편리한 유틸리티 기능을 제공하며 그 중 하나가 NewScanner 기능입니다. 이 함수는 입력을 한 줄씩 읽기 위해 io.Reader 객체에서 새로운 Scanner 객체를 생성할 수 있습니다. 이 기사에서는 bufio.NewScanner 함수를 사용하여 새 Scanner 객체를 생성하는 방법을 소개하고 그 사용법을 설명하는 몇 가지 샘플 코드를 제공합니다.

먼저 Bufio 패키지와 fmt 패키지를 가져와야 합니다. Scanner 객체를 사용하여 입력을 한 줄씩 읽고 fmt 패키지를 사용하여 결과를 출력하기 때문입니다.

import (
    "bufio"
    "fmt"
    "os"
)

다음으로 다음을 수행할 수 있습니다. os.Stdin을 입력 소스로 사용하여 표준 입력을 통해 한 줄씩 입력을 읽는 새로운 Scanner 객체를 생성합니다:

scanner := bufio.NewScanner(os.Stdin)

Scanner 객체가 포인터 유형이므로 주목할 가치가 있으므로 := 연산자를 사용해야 합니다. Scanner 개체에 대한 포인터를 만듭니다.

이제 Scanner 개체의 Scan 메서드를 사용하여 입력 내용을 한 번에 한 줄씩 읽은 다음 Text 메서드를 사용하여 입력 내용을 가져올 수 있습니다. 파일 끝까지 읽거나 오류가 발생하면 Scan 메서드는 false를 반환합니다. for 루프를 사용하면 파일 끝까지 입력을 계속 읽을 수 있습니다. 다음은 간단한 샘플 코드입니다.

for scanner.Scan() {
    line := scanner.Text()
    fmt.Println("输入内容:", line)
}

if err := scanner.Err(); err != nil {
    fmt.Fprintln(os.Stderr, "读取输入失败:", err)
    os.Exit(1)
}

위 샘플 코드에서는 for 루프를 사용하여 입력 줄을 읽을 때마다 Text 메서드를 사용하여 입력 내용을 얻고 fmt를 전달합니다. .Println 함수는 표준 출력으로 출력합니다.

마지막으로 scanner.Err 함수를 사용하여 입력을 읽는 동안 오류가 발생했는지 확인합니다. 오류가 발생하면 fmt.Fprintln 함수를 사용하여 오류 메시지를 표준 오류 스트림에 출력하고 os.Exit 함수를 호출하여 프로그램을 종료합니다. 이는 문제를 찾고 해결하는 데 도움이 되는 좋은 프로그래밍 습관입니다.

요약하자면, bufio.NewScanner 함수를 사용하면 쉽게 새 Scanner 객체를 생성하고 이를 사용하여 입력을 한 줄씩 읽을 수 있습니다. 이 기사가 독자가 Scanner 개체 사용을 빠르게 시작하고 입력을 보다 효율적으로 처리하는 데 도움이 되기를 바랍니다.

위는 이 글의 내용입니다. bufio.NewScanner 함수를 통해 새로운 Scanner 객체가 생성되고, 해당 샘플 코드가 제공되어 사용법을 보여줍니다. 독자들이 도움을 받고 실제 응용에서 이 기능을 유연하게 사용할 수 있기를 바랍니다.

위 내용은 使用bufio.NewScanner函数创建一个新的Scanner의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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