Go Go - 2
13 Mar 2021 | Go오늘은 표준입력과 파일 입력, map 데이터타입에 대해 공부했다.
표준 입력
자바의 Scanner와 비슷한 느낌이다.
input := bufio.NewScanner(os.Stdin)
bufio 라는 패키지를 이용하여 접근한다.
파일 입력
f, err := os.Open(filename)
if err != nil {
//에러 발생
return
}
f.Close()
os 패키지를 이용한다.
또한 다른 방법으로도 접근할 수 있는데,
data, err := ioutil.ReadFile(filename)
if err != nil {
//에러 발생
return
}
for _, line := range strings.Split(string(data), "\n") {
// ~~~
}
ioutil 패키지를 이용하면, 한 번에 모든 데이터를 읽어들인다 (os.Open은 한줄씩 스트리밍으로 읽는 느낌)
또한 strings.Split() 함수로 줄마다 나누어서 출력한다.
map 데이터타입
맵은 키/값 쌍을 가지는 타입이다.
저장, 추출, 맵 안의 특정 원소의 유무 검사를 할 수 있다.
counts := make(map[string]int)
형태로 만들어지고, [키]값 형태로 이루어진다.
중복되는 키가 들어오면 값을 증가시키는 형식이다.