글 작성자: 만렙개발자

Go 언어로된 가장 대표적인 웹 프레임워크 Gin을 사용해보고자 한다.

 

https://github.com/gin-gonic/gin

 

gin-gonic/gin

Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin. - ...

github.com

 

 

Go 패키지는 설치는 매우 간단하다! 특히 github을 활용하는 부분이 매우 좋다.

$ go get -u github.com/gin-gonic/gin

 

 

사용할 때에는 github를 import만 하면 된다. 

import "github.com/gin-gonic/gin"

 

 

example.go 라는 파일이름으로, 가장 간단한 샘플 코드를 작성하여 실행해보자. 코드 내용은 아래와 같다.

package main

import "github.com/gin-gonic/gin"

func main() {
	r := gin.Default()
	r.GET("/ping", func(c *gin.Context) {
		c.JSON(200, gin.H{
			"message": "pong",
		})
	})
	r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}

메인함수에서 "ping"이라는 get 요청을 통해 "pong" 이라는 답을 받을 수 있는 코드이다. 

 

 

이제, query를 보내는 것 까지해보자 :) 주소/welcome?firstname="" 이런식으로 전달해주는 것을 받기 위한 것이다.

func main() {
	router := gin.Default()

	// Query string parameters are parsed using the existing underlying request object.
	// The request responds to a url matching:  /welcome?firstname=Jane&lastname=Doe
	router.GET("/welcome", func(c *gin.Context) {
		firstname := c.DefaultQuery("firstname", "Guest")
		lastname := c.Query("lastname") // shortcut for c.Request.URL.Query().Get("lastname")

		c.String(http.StatusOK, "Hello %s %s", firstname, lastname)
	})
	router.Run(":8080")
}

매우 간단한다:) DefaultQuery와 Query의 차이점은 함수 이름 그대로이다. 입력받지 못했을 경우, 디폴트값 설정!

 

 

참고로 golang을 공부하기에는 아래의 사이트가 매우 좋다고 한다 :)

https://go-tour-kr.appspot.com/#1

 

A Tour of Go

연습: 슬라이스 Pic이라는 함수를 구현합니다. 이 함수는 dy개 만큼의 길이를 가지는 슬라이스를 리턴해야 하는데, 각각의 요소들은 또한 dx 개의 8비트 부호없는 8비트 정수 타입을 가지는 슬라이스입니다. 프로그램을 실행하면 이 정수값들을 흑백 (사실은 파란색)을 나타내는 값으로 해석하여 그림을 보여줄 것입니다. 그림은 여러분이 원하는 것으로 선택할 수 있습니다. (이용할 수 있는) 흥미로운 함수로는 x^y, (x+y)/2, x*y 등이 있습니다. (여

go-tour-kr.appspot.com

 

'👾 잔잔바리 > Projects' 카테고리의 다른 글

RSS 블로그 아카이빙 프로젝트  (0) 2019.12.18