앞전에 배열과 각 요소들에 접근하는 방법에 대해 설명드렸는데요
https://devhsops.tistory.com/14
배열만이 아닌, 텍스트 파일을 배열과 동일하게 동작하는 방법에 대해 설명드리고자 합니다.
만약 아래와 같은 data.txt 파일에 존재하는 값들을 읽어오고 싶다면 어떻게 해야할까요?
1
2
3
기본적인 포맷은 이전에 설명드렸던 os 패키지를 이용하는 방법과 비슷합니다.
https://devhsops.tistory.com/8
package main
import(
"fmt"
"os"
"bufio"
"log"
)
func findErr(err error){
if err != nil{
log.Fatal(err)
}
}
func main(){
file, err := os.Open("data.txt")
findErr(err)
scanner := bufio.NewScanner(file)
for scanner.Scan(){
fmt.Println(scanner.Text())
}
err = file.Close()
findErr(err)
findErr(scanner.Err())
}
- Go 언어에는 while 문이 없습니다. 즉, while 문을 나타내고 싶을 때엔 위 코드와 같이 for문을 이용하면 됩니다. 따라서 코드의 흐름을 분석해보면 scanner.Scan()은 파일에서 한줄을 읽는 것에 성공했을 때엔 true, 실패했을 때엔 false를 반환하다고 생각하는 것이 합리적입니다. 그 후, scanner.Text()를 수행하여 읽어들인 string 값을 출력해보았습니다.
- 만약, 읽어들인 string 값을 정수로 나타내고자하면, 아래 링크를 통해 그 방법을 터득하실 수 있을 것입니다.
https://devhsops.tistory.com/8
'Go > [Go]배열, 슬라이스, 맵' 카테고리의 다른 글
맵 (0) | 2021.11.22 |
---|---|
슬라이스 (0) | 2021.11.22 |
배열 (0) | 2021.11.22 |