반응형

Go 15

[Go] Reading/Writing files in Go

Go에서 파일 읽기/쓰기에서 대해서 알아보자. 기존에 io/ioutil 패키지를 사용해서 파일 읽기/쓰기를 했을 것이다. 하지만 Go 1.16 부터 io/ioutil 패키지가 deprecated 되었다. 해당 패키지에서 제공하던 모든 기능이 다른 패키지로 이동되었다. ioutil.ReadFile() 메소드를 확인해보면 관련해서 다른 패키지를 호출하도록 설명이 되어 있다. ioutil.WriteFile() 확인해봐도 마찬지로 다른 패키지를 호출하도록 설명이 되어 있다. io/ioutil 패키지에 있던 함수들이 이동한 곳은 아래와 같다. Discard => io.Discard NopCloser => io.NopCloser ReadAll => io.ReadAll ReadDir => os.ReadDir (not..

Go 2023.02.20

[Go]Multiline strings in Go

Go 에서 여러 줄 문자열을 작성하는 방법에 대해서 알아보자. 1. Interpreted string 큰 따옴표와 함께 \n 와 같은 이스케이프 문자를 사용하면 여러 줄 문자열을 사용할 수 있다. func main() { lines := "Build simple, secure, scalable systems with Go\n" + "- An open-source programming language supported by Google\n" + "- Easy to learn and great for teams\n" + "- Built-in concurrency and a robust standard library\n" + "- Large ecosystem of partners, communities, an..

Go 2023.02.18

[Golang] colly를 이용한 넷플릭스 top10 수집 예제

colly는 go로 만들어진 Scraping Framework이다. 사용하기도 정말 쉽고 편하다. colly를 이용해 넷플릭스 영화 주간 순위 top 10의 제목을 수집하는 예제를 해보자. 우선 colly의 사용법을 간단하게 알아보자. colly 사용법 사용하기 위해서는 아래와 같이 import를 추가해야 한다. import "github.com/gocolly/colly" Collector c := colly.NewCollector() colly를 사용하기 위해서는 우선 lcolly.NewCollector() 함수를 호출해 *colly.Collector object 를 초기화해줘야 한다. Visit c := colly.NewCollector() // Start scraping on https://hack..

Go 2022.03.28

[Golang] Struct 필드 유효성 검사(validator)

Struct 필드의 유효성을 검증해보자. 유효성 검사를 하는 함수를 따로 구현해서 할 수도 있지만 validator 패키지를 이용해서 할 수 있다. validator 패키지는 gin 웹 프레임워크에서도 사용하는 패키지이다. 기본적으로 태그를 이용해서 사용한다. type User struct { FirstName string `validate:"required"` LastName string `validate:"required"` Age uint8 `validate:"gte=0,lte=130"` Email string `validate:"required,email"` FavouriteColor string `validate:"iscolor"` } required 에 해당하는 필드는 반드시 존재해야 하는 필..

Go 2021.06.12

[Golang] YAML 파싱하기

Go언어에서 YAML 라이브러리를 이용하면 간편하게 YMAL 값을 다룰 수 있다. 해당 라이브러리의 문서는 아래에서 확인할 수 있다. https://pkg.go.dev/gopkg.in/yaml.v3 간단하게 YAML를 언마샬링 하는 예제를 확인해보자. - person.yaml name: Martin D'vloper job: Developer skill: Elite employed: True foods: - Apple - Orange - Strawberry - Mango languages: perl: Elite python: Elite 이전에 학습했듯이 json를 다루는 방식과 거의 동일하다. - [go] JSON 다루기 필드 태그 형식은 다음과 같다. yaml:"[][,[,]]" package main ..

Go 2021.06.12

[Golang]Go version 변경하기 (macOS)

Go을 오랜만에 다시 공부하려니까 최신 버전과 차이가 많이 나길래 버전 업데이트를 하려고 한다. 기존에 존재하고 있는 Go 삭제 go 최신 version 설치하기 전에 기존에 설치되어 있는 버전을 삭제해줘야 한다. 기존에 설치되어 있던 go version부터 확인해보자. $ go version go version go1.13.1 darwin/amd64 which 명령어로 설치되어 있는 디렉터리를 확인해보자. $ which go /usr/local/go/bin/go 설치되어 있는 위치를 알았으니 해당 디렉터리를 삭제해 기존 go를 삭제하자 $ sudo rm -rf /usr/local/go Go 설치 golang 다운로드 페이지에서 맥 OS용 파일(go1.16.4.darwin-amd64.pkg)을 다운로드한..

Go 2021.05.14
반응형