> 백엔드 개발 > Golang > Go의 `Readln` 기능은 어떻게 관용적인 줄 읽기를 단순화할 수 있습니까?

Go의 `Readln` 기능은 어떻게 관용적인 줄 읽기를 단순화할 수 있습니까?

DDD
풀어 주다: 2024-12-05 17:13:17
원래의
703명이 탐색했습니다.

How Can Go's `Readln` Function Simplify Idiomatic Line Reading?

Readln을 사용한 Go의 관용적 줄 읽기

Go에서 입력/출력 작업을 수행할 때 텍스트 줄을 문자열로 읽어야 하는 경우가 많습니다. 그러나 표준 라이브러리 readline 함수는 주로 바이트 배열을 반환합니다.

편리한 솔루션: Readln 함수

Readln 함수는 바이트 배열을 readline에서 문자열로 변환하는 편리한 방법을 제공합니다. 작동 방식은 다음과 같습니다.

<br>import(</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">"bufio"
"fmt"
"os"
로그인 후 복사

)

// Readln은 끝 n 없이 한 줄을 반환합니다.
// 입력 버퍼 판독기에서.
// 오류가 있는 경우 오류가 반환됩니다.
// 버퍼링 리더.
func Readln(r *bufio.Reader) (문자열, 오류) {
var (

isPrefix bool = true
err error = nil
line, ln []byte
로그인 후 복사

)

for isPrefix && 오류 == 없음 {

line, isPrefix, err = r.ReadLine()
ln = append(ln, line...)
로그인 후 복사

}

return string(ln), err
}

func main() {
f, err := os.Open ("filename.txt")
if err != nil {

fmt.Println("error opening file= ", err)
os.Exit(1)
로그인 후 복사

}

r := bufio.NewReader(f)

행의 경우, err := Readln(r); 오류 == 없음; line, err = Readln(r) {

fmt.Println(line)
로그인 후 복사

}

if err != io.EOF {

fmt.Println("error reading file= ", err)
os.Exit(1)
로그인 후 복사

}
}

예시 사용법

main() 함수는 파일을 열고, 파일에서 버퍼링된 판독기를 생성한 다음 Readln 함수를 사용하여 파일의 각 줄을 반복합니다. Readln 함수는 행을 문자열과 오류 값으로 모두 반환합니다. 프로그램은 파일 끝에 도달하거나 오류가 발생할 때까지 계속해서 줄을 읽습니다.

이 접근 방식은 Go에서 줄 읽기를 단순화하여 입력에서 문자열을 얻는 더 관용적이고 사용자 친화적인 방법을 제공합니다.

위 내용은 Go의 `Readln` 기능은 어떻게 관용적인 줄 읽기를 단순화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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