Go에서 효율적으로 행을 문자열로 읽기
Go 표준 라이브러리는 입력을 읽는 저수준 함수를 제공하고 대신 바이트 배열을 반환합니다. 문자열. 사용 편의성을 위해 readline 함수에서 직접 문자열을 얻는 대체 접근 방식을 살펴봅니다.
사용자 정의 Readln 함수
readline 작업을 단순화하기 위해 사용자 정의 제공된 문자에서 한 줄(개행 문자 제외)을 읽는 Readln 함수 bufio.Reader:
func Readln(r *bufio.Reader) (string, error) { var ( isPrefix bool = true err error = nil line, ln []byte ) for isPrefix && err == nil { line, isPrefix, err = r.ReadLine() ln = append(ln, line...) } return string(ln), err }
사용 예
Readln 함수를 사용하여 파일에서 줄을 읽고 stdout으로 인쇄할 수 있습니다.
f, err := os.Open(fi) if err != nil { fmt.Println("error opening file= ", err) os.Exit(1) } r := bufio.NewReader(f) s, e := Readln(r) for e == nil { fmt.Println(s) s, e = Readln(r) }
이 접근 방식을 사용하면 바이트 배열을 문자열로 수동으로 변환할 필요가 없으므로 가져오는 프로세스가 간소화됩니다. Go의 readline 함수에서 가져온 문자열입니다.
위 내용은 Go에서 한 줄을 문자열로 효율적으로 읽을 수 있는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!