반응형

go 15

[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] 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

[Golang] 시간 다루기

go에서 time 패키지를 이용하여 시간을 다루는 방법에 대해서 간단하게 알아보자. 현재 시간 t := time.Now() fmt.Println(t) //2020-10-24 02:44:06.14677 +0900 KST m=+0.000171402 Now 함수는 현재 시간을 반환해준다. 실행 시간 계산하기 Task 실행 전의 시간과 Task 실행 후의 시간을 빼서 간단하게 프로그램의 실행시간을 측정해볼 수도 있다. startTime := time.Now() // Task sum := 0 for i := 1; i

Go 2020.10.24

[Golang] gin 웹프레임워크 기초 및 예제실행

Golang의 웹 프레임워크는 gin, echo, beego 등 여러 가지가 존재한다. 하지만 gin를 주로 많이 사용하는 것 같다. 아래 이미지는 젯브레인에서 2020년에 실시한 개발자 에코시스템의 현황 중 Go 프로그래밍에 대한 내용의 일부이다. Go 웹 프레임워크로 gin를 많이 사용하는 것을 알 수 있다. 예제 예제를 실행하기 앞서서 Go Modules프로젝트를 생성하자. 젯브레인 블로그에서 자세히 확인할 수 있다. gin 패키지 추가 /ping를 호출하면 pong이라는 결과를 받는 간단한 예제이다. package main import "github.com/gin-gonic/gin" func main() { r := gin.Default() r.GET("/ping", func(c *gin.Cont..

Go 2020.08.26
반응형