나는 읽을 텍스트 데이터가 들어있는 텍스트 파일을 가지고 있습니다. 불행히도 그 방법을 찾을 수 없습니다.Go를 사용하여 텍스트 파일에서 데이터 읽기
여기
5 4
1 2 - Yogurt
2 0 X Chicken soup
3 1 X Cheese
4 3 X Ham
2
3
4
0
파일은 세 부분으로 이루어지는 예이다. 첫 번째 부분은 헤더 (첫 번째 줄)이고, 두 번째 부분은 레코드 목록이며, 마지막 부분은 unit64 값의 목록입니다.
헤더에는 uint64 다음에 unit16이라는 두 개의 값만 포함됩니다. 두 번째 값은 레코드 수와 세 번째 파트의 값 수입니다.이 수는 동일하므로이 값을 사용하십시오.
레코드는 unit64 값 다음에 uint16 값이오고, 그 뒤에는 X 또는 - 만 가능한 단일 문자와 줄 끝까지 utf-8로 인코딩 된 문자열이옵니다. 데이터는 fmt.Fprintf()를 사용하여 파일에 기록됩니다.
세 번째 부분은 uint64 값을 포함합니다.
나는이 데이터를 텍스트 파일에서 읽는 방법을 찾으려고 노력하고 있으며 길을 찾을 수 없습니다.
str에 숫자에 속한 숫자 만 들어있는 경우 strconv.ParseUint (str, 0, 64) 또는 uint16 (strconv.ParseUint (str, 0, 16)) 만 사용할 수 있습니다. 리더를 사용하기 위해 bufio를 살펴 봤지만 대부분의 줄을 얻을 수 있습니다. 아마도 bufio.Scanner를 사용해야하지만 문서에서 사용하는 방법을 결정할 수는 없습니다.
어쩌면 http://stackoverflow.com/questions/5884154/golang-read-text-file-into-string-array-and-write 도움이 될 수 있습니다. –
찾았지만 도움이되지 않습니다. 나는 fmt.Scanf (...)를 사용하여 끝내었다. ReadString ('\ n')은 앞뒤에 공백이 있고 끝에는 \ n 문자열을 반환하기 때문에 문자열의 끝을 읽으려면 문자열을 다듬어야했습니다. – chmike