Go에서 표준 라이브러리는 바이트 배열을 반환하는 readline 작업을 위한 저수준 원시 함수를 제공합니다. readline 함수에서 문자열을 얻는 더 편리한 방법이 있습니까?
관용적인 솔루션
Go에서 문자열을 readline으로 변환하는 관용적인 접근 방식은 bufio를 활용하는 것입니다. 리더 구조체. Readln() 함수는 입력 버퍼 판독기에서 한 줄(후행 줄 바꿈 n 없음)을 반환합니다.
import ( "bufio" "fmt" "os" ) 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 } func main() { 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) } }
이 함수는 파일에서 줄을 읽고 줄 바꿈 문자(n)를 제거한 후 각 줄을 콘솔.
위 내용은 Go에서 파일의 한 줄을 문자열로 효율적으로 읽는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!