본문 바로가기

Go/[Go]배열, 슬라이스, 맵

텍스트 파일 읽기

앞전에 배열과 각 요소들에 접근하는 방법에 대해 설명드렸는데요

https://devhsops.tistory.com/14

 

배열

배열이란 무엇일까요? 배열이란, 연관된 데이터를 그룹핑하여 관리하기 위해 사용되는 데이터 타입입니다. 또한, 배열은 동일한 타입을 갖는 값의 모음으로, 데이터를 효율적으로 관리 및 이용

devhsops.tistory.com

배열만이 아닌, 텍스트 파일을 배열과 동일하게 동작하는 방법에 대해 설명드리고자 합니다.

 

만약 아래와 같은 data.txt 파일에 존재하는 값들을 읽어오고 싶다면 어떻게 해야할까요?

1
2
3

기본적인 포맷은 이전에 설명드렸던 os 패키지를 이용하는 방법과 비슷합니다.

https://devhsops.tistory.com/8

 

Up Down Counting Game 키보드 입력하기(정수값 입력하기)

Up Down Counting 게임을 시작하기 앞서 사용자가 키보드에 어떻게 입력할지에 대해 설명하겠습니다. 위 그림은 사용자가 input을 어떻게 하게될지에 대해 보여주는 결과물입니다. 위 그림과 같이 입

devhsops.tistory.com

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
 

Up Down Counting Game 키보드 입력하기(정수값 입력하기)

Up Down Counting 게임을 시작하기 앞서 사용자가 키보드에 어떻게 입력할지에 대해 설명하겠습니다. 위 그림은 사용자가 input을 어떻게 하게될지에 대해 보여주는 결과물입니다. 위 그림과 같이 입

devhsops.tistory.com

 

'Go > [Go]배열, 슬라이스, 맵' 카테고리의 다른 글

  (0) 2021.11.22
슬라이스  (0) 2021.11.22
배열  (0) 2021.11.22